public static void preApply(@NonNull Activity activity, @Nullable String key) {
didPreApply = activity.getClass();
mToolbar = null;
int activityTheme = activity instanceof ATEActivityThemeCustomizer ?
((ATEActivityThemeCustomizer) activity).getActivityTheme() : Config.activityTheme(activity, key);
if (activityTheme != 0) activity.setTheme(activityTheme);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
final Window window = activity.getWindow();
if (Config.coloredStatusBar(activity, key))
window.setStatusBarColor(Config.statusBarColor(activity, key));
else window.setStatusBarColor(Color.BLACK);
if (Config.coloredNavigationBar(activity, key))
window.setNavigationBarColor(Config.navigationBarColor(activity, key));
else window.setNavigationBarColor(Color.BLACK);
applyTaskDescription(activity, key);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
final View decorView = activity.getWindow().getDecorView();
boolean lightStatusEnabled = false;
if (Config.coloredStatusBar(activity, key)) {
final int lightStatusMode = Config.lightStatusBarMode(activity, key);
switch (lightStatusMode) {
case Config.LIGHT_STATUS_BAR_OFF:
default:
break;
case Config.LIGHT_STATUS_BAR_ON:
lightStatusEnabled = true;
break;
case Config.LIGHT_STATUS_BAR_AUTO:
lightStatusEnabled = Util.isColorLight(Config.primaryColor(activity, key));
break;
}
}
final int systemUiVisibility = decorView.getSystemUiVisibility();
if (lightStatusEnabled) {
decorView.setSystemUiVisibility(systemUiVisibility | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
} else {
decorView.setSystemUiVisibility(systemUiVisibility & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
}
// MD integration
if (Config.usingMaterialDialogs(activity, key)) {
final ThemeSingleton md = ThemeSingleton.get();
md.titleColor = Config.textColorPrimary(activity, key);
md.contentColor = Config.textColorSecondary(activity, key);
md.itemColor = md.titleColor;
md.widgetColor = Config.accentColor(activity, key);
md.linkColor = ColorStateList.valueOf(md.widgetColor);
md.positiveColor = ColorStateList.valueOf(md.widgetColor);
md.neutralColor = ColorStateList.valueOf(md.widgetColor);
md.negativeColor = ColorStateList.valueOf(md.widgetColor);
}
}
ATE.java 文件源码
java
阅读 27
收藏 0
点赞 0
评论 0
项目:app-theme-engine-master
作者:
评论列表
文章目录