@Tatevik12

Как заставить программно работать ползунок (SeekBar) изменения яркости (0%-100%)?

Этот ползунок двигается, но не работает над текстом
Нужно чтобы только в этом активити (BookActivity) менялась яркость, при чтении книг. Делаю читалку.
Как это сделать?
5c5c5b915d433836720192.jpeg
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
thelongrunsmoke
@thelongrunsmoke
Программист
Существует универсальный способ установки яркости экрана для конкретной активити. Работает во всех версиях.
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = brightness;    // Яркость экрана от 0 до 1.
getWindow().setAttributes(lp);

Полностью, код будет выглядеть примерно так:
spoiler

В xml, определить максимум для SeekBar
android:max="255"
В активити, повешать листенер.
((SeekBar)findViewById(R.id.seekBar)).setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                float brightness = progress / (float)255;
                WindowManager.LayoutParams lp = getWindow().getAttributes();
                lp.screenBrightness = brightness;
                getWindow().setAttributes(lp);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

            }
        });

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы