在开源中国客户端源码的侧滑菜单栏里有一个模式切换的选项,可以完成夜间模式和日间模式的相互转换。
一、功能介绍
在侧滑菜单栏里点击日间或者夜间后,客户端的皮肤可以发生变化,来达到保护眼睛的作用。
二、详细介绍
这是在MainActivity的onCreate方法中的一段代码,这段代码完成了读取本地配置中存储的日间模式和夜间模式信息,从而回显到客户端中。
读取本地配置信息,在应用启动时,回显至客户端
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (AppContext.getNightModeSwitch()) {
setTheme(R.style.AppBaseTheme_Night);
} else {
setTheme(R.style.AppBaseTheme_Light);
}
......
}
在上面代码中可以看到,各种皮肤的信息还是在Style中进行配置的
日间模式代码
<!-- 日间模式 -->
<style name="AppBaseTheme_Light" parent="@style/Theme.AppCompat.Light">
<item name="colorPrimary">@color/day_colorPrimary</item>
<item name="colorPrimaryDark">@color/day_colorPrimaryDark</item>
<item name="android:textColorLink">#0b9a27</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="editTextColor">@color/gray</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Dark</item>
<item name="android:windowBackground">@color/window_background</item>
<item