как сохранить положение большого пальца на панели поиска в общем предпочтении - PullRequest
0 голосов
/ 27 мая 2020

Я меняю размер 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());

Я создаю отдельный класс общих предпочтений, который я использую для всех значений. Можете ли вы помочь мне в том, как я сохраняю позицию щелчка на панели поиска и тексты, когда я повторно открываю приложение.

....... Извините за мой плохой английский sh ......

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете попробовать это:

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) {
    }
});

Установите значение по умолчанию 12 в SharedPref, например:

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"/>
...