有些节日需要app改为黑白色,称为默哀日,看网上很多要替换布局或者在baseActivity中添加灰化代码,特分享一下本人的实现,简单直接,上代码
在Application实现attachBaseContext方法
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
Helper.install(this);
MultiDex.install(this);
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) {
//获取decoview
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
if (decorView != null && decorView.getChildCount() >0) {
Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);//灰度效果
paint.setColorFilter(new ColorMatrixColorFilter(cm));
decorView.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
}
}
@Override
public void onActivityStarted(@NonNull Activity activity) {
}
@Override
public void onActivityResumed(@NonNull Activity activity) {
}
@Override
public void onActivityPaused(@NonNull Activity activity) {
}
@Override
public void onActivityStopped(@NonNull Activity activity) {
}
@Override
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) {
}
@Override
public void onActivityDestroyed(@NonNull Activity activity) {
}
});
}
这里最好和服务端配合下,遇到需要默哀的日子通过接口控制,这样也能避开需要默哀的时候还要发版,被动不说还有可能造成很多线上问题,头疼。。。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧