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

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

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