正经的是换style吧, 刚好也遇到. 不过项目负责人说了,调低点屏幕亮度就算夜间模式吧(网易新闻就是这么干的),这里贴上调亮度的代码
//调系统亮度
public void setBrightness(int level) {
ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, "screen_brightness", level);
Window window = getWindow();
LayoutParams attributes = window.getAttributes();
float flevel = level;
attributes.screenBrightness = flevel / 255;
getWindow().setAttributes(attributes);
}
调app的亮度因为版本的原因没有采用,直接调正系统亮度,再在app记录下原始的亮度 退出app时做下还原就好了.