- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
搜索栏在任何地方都可以正常工作,但我希望看到在该首选项屏幕中进行更改时发生的更改。问题是 seekbar 是一个首选项,因此我无法执行 sharedpreferences 并在 onProgressChanged 方法中更新它。
有什么办法解决这个问题吗?
我这样设置我的亮度:
SharedPreferences prefs;
prefs = PreferenceManager.getDefaultSharedPreferences(this);
float sb = prefs.getInt("screenBrightness", 1);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = sb / 100.0f;
getWindow().setAttributes(lp);
但我不能在 onProgressChanged 中使用它,因为该类正在扩展 Preference。
最佳答案
您需要做的是使用 OnSharedPreferencesChanged
监听器,例如 onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
。在您的 PreferenceActivity 中执行此操作:
SharedPreferences.OnSharedPreferenceChangeListener prefChangeListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if(key.equals("screenBrightness")) {
//set brightness here
float sb = sharedPreferences.getInt(key, 1);
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = sb / 100.0f;
getWindow().setAttributes(lp);
}
}
};
然后在 onSharedPreferenceChanged
中,您可以使用您一直在使用的键并相应地设置亮度
关于android - 我的首选项中有一个搜索栏来更新屏幕亮度。有没有办法刷新 UI 以查看实时更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9023926/
我的组件的模板呈现一个列表: {{ m.name }} 组件为其设置动画 @Component({ selector: 'app-client-detail', tem
我在回收站 View 中为每个项目使用卡片 View ,但我在图片下方和上方有空白,我不确定如何,我需要摆脱它。这是每个项目的 xml 布局。
我有一个包含许多 float 子元素的 div。每个子项都是一个包含输入和标签的 div。在 Firefox 中它看起来不错,但在 IE7 中,一行的最后一项被换行以适合,而不是被移动到下一行。 Wr
我创建了一个包含三个按钮的 wxpython 框架,在将视频格式化到 wxpanel 上时出现问题 这就是我流式传输网络摄像头的方式。 #code for the stream of webcam t
我想为 ListView 中的每个项目创建一个 fragment ,因为我想分离出一些逻辑。我正在为每个项目使用 View 持有者。如果 View 不存在,我将创建一个新 fragment 并将其添加
我正在使用 Joda 解析 RSS 项中的 pubDate。日期必须采用 RFC-822 格式: http://feed2.w3.org/docs/error/InvalidRFC2822Date.h
我正在尝试为我的第一个项目提供一个在此循环中处于事件状态的类。但是第二个和第三个项目可能没有“事件”类。 @foreach ($news as $newsitem)
我是一名优秀的程序员,十分优秀!