我正在改变seekbar上的TextView大小,并将其保存在共享首选项中,我想将文本大小设置为最小12sp,最大60sp,当我设置文本大小(任何大小)时,我想将seekbar的拇指也设置在与文本大小相同的位置上,在我的编码中,我成功地将文本大小保存在共享首选项中,但我不知道如何将seekbar的拇指位置与文本大小相同。
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());
我正在创建一个单独的共享偏好类,我为所有的值使用。你能帮助我吗,当我重新打开应用程序时,我如何保存seekbar thump位置和文本大小都一样。
................................................................................................................................................................................................................................................
你可以试试这个。
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"/>