我正在更改搜索栏上的 TextView 大小并将值保存在共享首选项中。我想将文本大小设置为最小 12sp 和最大 60sp。 当我设置文本大小(任何东西)时,我想将搜索栏拇指也设置在与文本大小相同的位置。 在我的编码中,我成功地将文本大小保存在共享首选项中,但我不知道如何将搜索栏拇指位置设置为与文本大小相同。
Seekbar sb;
TextView textView;
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,seekBar.getProgress());
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
SharedPref.setValue(EditTextView.this,"TextSize",textView.getTextSize());
我正在创建一个单独的共享偏好类,我将其用于所有值。 你能帮我看看当我重新打开应用程序时如何保存相同的搜索栏重击位置和文本大小吗?
......抱歉我的英语不好......
最佳答案
你可以试试这个:
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP,SharedPref.getValue(EditTextView.this,"TextSize"));
sb.setProgress(SharedPref.getValue(EditTextView.this,"TextSize"));
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, progress);
SharedPref.setValue(EditTextView.this,"TextSize", progress);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
在 SharedPref 中设置默认值为 12,如下所示:
int textSize = sharedPref.getInt("TextView", 12);
并设置最大值和最小值
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="60"
android:min="12"/>
关于java - 如何在共享首选项中保存搜索栏拇指位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62051979/