Skip to content Skip to sidebar Skip to footer

I Have A Seekbar In My Preferences To Update Screen Brightness. Is There A Way To Refresh The Ui To See The Live Change?

The seekbar works fine everywhere, but I'd like to see the changes happen as they are made in that preference screen. The problem is that the seekbar is a preference, and thus I ca

Solution 1:

What you need to do is use an OnSharedPreferencesChanged listener like onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key). Inside of your PreferenceActivity do this:

SharedPreferences.OnSharedPreferenceChangeListenerprefChangeListener=newSharedPreferences.OnSharedPreferenceChangeListener() { 
    publicvoidonSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 
        if(key.equals("screenBrightness")) {
        //set brightness herefloatsb= sharedPreferences.getInt(key, 1);
            WindowManager.LayoutParamslp= getWindow().getAttributes();
            lp.screenBrightness = sb / 100.0f;
            getWindow().setAttributes(lp);
        }
    }
};

and then in onSharedPreferenceChanged, you can use the key you've been using and set the brightness accordingly

Post a Comment for "I Have A Seekbar In My Preferences To Update Screen Brightness. Is There A Way To Refresh The Ui To See The Live Change?"