方法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