我看这是大部分是在一个评论链接回答一个老问题,但要清楚到别人谁碰到这个问题来了,这是我自己的回答。
它的内置自API 8(doc)
float android.view.WindowManager.LayoutParams.buttonBrightness
这是我用我的应用程序的一个什么样的稍加修改/简体版(不含无关的代码)。需要内部类来防止在不支持它的旧平台上启动时发生崩溃。
private void nightMode() {
Window win = getWindow();
LayoutParams lp = win.getAttributes();
if (prefs.getBoolean("Night", false))
changeBtnBacklight(lp, LayoutParams.BRIGHTNESS_OVERRIDE_OFF);
else changeBtnBacklight(lp, LayoutParams.BRIGHTNESS_OVERRIDE_NONE);
win.setAttributes(lp);
}
private void changeBtnBacklight(LayoutParams lp, float value) {
if (Integer.parseInt(Build.VERSION.SDK) >= 8) {
try {
new BtnBrightness(lp, value);
} catch (Exception e) {
Log.w(TAG, "Error changing button brightness");
e.printStackTrace();
}
}
}
private static class BtnBrightness {
BtnBrightness(LayoutParams lp, float v) {
lp.buttonBrightness = v;
}
}
您是否找到解决此问题的解决方案?我也想关闭按钮上的背光灯。 – 2010-11-05 09:30:44
是的,我做过,或者它是Android 2.2的新功能。看看这里http://stackoverflow.com/questions/2892160/uimodemanager-nightmode-froyo – Kaloer 2010-11-05 16:01:25