Android Framework下手机状态栏一体化和一体化后颜色存在的问题
2017-11-07 16:34
267 查看
在仿OppoR11上,由于系统上方的状态栏以及虚拟底部栏都是蓝黑色的,oppo中是白色的,我们看下这两个图
将手机状态栏一体化(背景颜色也修改),由于这里只是一个项目需要修改,所以我们要做属性控制:
可以看到在oppo和非oppo下,设置了不同的theme和contentview,那么我们最后看下这两个theme:
至于那个背景色,只需要在根布局设置background为f5f5f5就行,在那个判断没加之前:
加完那句判断后之后,我们发现最上方的颜色也会变黑色,这是360系统自己适配的(当打开其他应用,比如设置,相册的时候,顶部白色的状态栏字体会变黑),但是如果不加判断里面的语句,就会一直白色,和一体化的白色背景冲突。
将手机状态栏一体化(背景颜色也修改),由于这里只是一个项目需要修改,所以我们要做属性控制:
if (opr11Style) { setTheme(R.style.EmergencyDialerOppoR11Theme); setContentView(R.layout.emergency_dialer); //修改在一体化状态栏下,状态栏的颜色图标为默认(android 6.0生效) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { EmergencyDialer.this.getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); } Button back_btn; back_btn = (Button) findViewById(R.id.back_btn); mMydarksingleline = (DarkSingleLine)findViewById(R.id.mydarksingleline); back_btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); }else { setTheme(R.style.EmergencyDialerTheme); setContentView(R.layout.commonemergency_dialer); }
可以看到在oppo和非oppo下,设置了不同的theme和contentview,那么我们最后看下这两个theme:
<style name="EmergencyDialerOppoR11Theme" parent="@android:style/Theme.Material.NoActionBar"> <item name="android:colorPrimary">@color/emergency_dialer_oppo_background</item> <item name="android:colorPrimaryDark">@color/emergency_dialer_oppo_background</item> <item name="android:windowBackground">@color/emergency_dialer_oppo_background</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item> </style>
<style name="EmergencyDialerTheme" parent="@android:style/Theme.Material.NoActionBar"> <item name="android:colorPrimary">@color/emergency_dialer_background</item> <item name="android:colorPrimaryDark">@color/emergency_dialer_background</item> <item name="android:windowBackground">@color/emergency_dialer_background</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item> </style>
至于那个背景色,只需要在根布局设置background为f5f5f5就行,在那个判断没加之前:
加完那句判断后之后,我们发现最上方的颜色也会变黑色,这是360系统自己适配的(当打开其他应用,比如设置,相册的时候,顶部白色的状态栏字体会变黑),但是如果不加判断里面的语句,就会一直白色,和一体化的白色背景冲突。
相关文章推荐
- Android之改变状态栏的颜色使其与APP风格一体化
- 解决华为手机沉浸式状态栏的问题
- VS2008下改变radio控件字体颜色存在的问题
- android状态栏一体化(改变状态栏的背景颜色)
- 安卓手机普遍存在的2个问题
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- android 关于状态栏的设置,修改,适配的问题包括:4.x,5.x,6.x的手机的适配
- 解决状态栏加了颜色EditText被输入法遮挡问题(api>=19)
- Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
- 华为手机设置状态栏透明 竟出现灰色的背景问题
- Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- android 设置手机状态栏的背景颜色
- 获取手机设备号及存在的问题
- HBuilder app 状态栏 颜色问题
- 导航条显示隐藏问题(包含改变状态栏颜色)
- 关于 Windows照片查看器/图片查看器 颜色不准、存在色差的问题的解决方法
- ionic3 ion-navbar height 导航 push 到一个新页面后,手机的状态栏高度没有了问题
- 改变状态栏的颜色使其与APP风格一体化
- Android 非常简单的实现 Fragment状态栏一体化布局,状态栏字体的颜色改变,