Android 实现夜间模式
EDVRosie
9年前
来自: http://blog.csdn.net//never_cxb/article/details/50620539
方法1
建一个 value-night 的文件夹,colors.xml如下:
<resources> <color name="colorPrimary">#7D4112</color> <color name="colorPrimaryDark">#7D4112</color> <color name="colorAccent">#1F1F1F</color> </resources>
@Override public boolean onNavigationItemSelected(MenuItem menuItem) { int id = menuItem.getItemId(); switch (id) { case R.id.nav_setting: Toast.makeText(this, "夜间模式", Toast.LENGTH_LONG).show(); if (isNightMode) { uiManager.enableCarMode(0); uiManager.setNightMode(UiModeManager.MODE_NIGHT_YES); isNightMode = !isNightMode; } else { uiManager.disableCarMode(0); uiManager.setNightMode(UiModeManager.MODE_NIGHT_NO); isNightMode = !isNightMode; } return true; default: return true; } }
但是这种方法会开启车载模式
在笔者的测试机(红米1s)中,这种方法会先退出应用,再启动应用已经是夜间模式
注意点
CardView 的背景色是app:cardBackgroundColor="?attr/windowBackground"
设置,不是普通的android:background