android设置状态栏的颜色
Ⅰ android 怎样把最顶上的状态栏也改变背景
沉浸式状态栏,就是将当前Application的background延伸至状态栏。
(直接贴上在AS中写的代码,仅作参考)
/********沉浸式状态栏***********/
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
//将状态栏颜色变深
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
//miui系统
setStatusBarDarkMode(true,this);
/*************以上在onCreate()***************//*************以下在onCreate()外部**********/
//通过反射,使miui系统状态栏颜色变黑,避免透明
public void setStatusBarDarkMode(boolean darkmode, Activity activity) {
Class<? extends Window> clazz = activity.getWindow().getClass();
try {
Class<?> layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
int darkModeFlag = field.getInt(layoutParams);
Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
extraFlagField.invoke(activity.getWindow(), darkmode ? darkModeFlag : 0, darkModeFlag);
} catch (Exception e) {
e.printStackTrace();
}
}
/************仅供参考***********/
(效果图)
Ⅱ 求助大神,android怎样设置改变一个tab页面的背景以及每一个栏字体的颜色
android4.4以下修改状态栏颜色的方法为:1、首先会懂得反编译,电脑上要安装java环境和反编译工具。没有的网络搜索下载安装。这里就不多说了。2、要准备一个framework-res.apk放在一边待用,把framework-res.apk复制到反编译工具里、反编译framework-res.apk后打开res\values\styles.xml。3、直接搜索以下代码你会看见14.0spnormal?textColorPrimary然后修改这一段代码?textColorPrimary为#ff000000000000为颜色代码想要什么颜色就修改成自己喜欢的颜色就可以了颜色对照表可以参考/tools/sejie.asp4、然后回编译。回编译完成后用电脑上的压缩软件打开回编译好的framework-res.apk,拖出里面的resources.arsc替换进事先准备好的framework-res.apk里就可以了。然后用复制到内存卡用RE复制或者移动到system里修改权限310,在移动到framework里覆盖就可以了。关机重启,状态栏的通知内容颜色也变了。
Ⅲ android导航栏与状态栏颜色及透明度
首先创建一个空项目,如下图
可以看到状态栏是白字黑背景, 导航栏也是白图标黑背景
嘿嘿, 我们先把状态栏隐藏掉,在添加一个ImageView, 让ImageView做背景(方便查看)
样子如下:
将状态栏和导航栏设置透明, 找到 Manifest.xml 文件, 在主题样式中修改
android:statusBarColor 设置状态栏背景色
android:navigationBarColor 同上
android:windowLightStatusBar 设置状态栏文字色, true为深色, false为白色
android:windowLightNavigationBar 同上
android:windowTranslucentStatus 设置状态栏半透明状态, true为半透明, false为不透明
android:windowTranslucentNavigation 同上
最后两个半透明状态下面没用, 可自己尝试看效果
效果图如下:
可以看到导航栏与状态栏并没有透明,原因是默认不能占用状态栏空间与导航栏空间,根布局背景为白色,所有这里显示白色
可以通过设置 getWindow().getDecorView().setSystemUiVisibility() 来适配
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 适配状态栏空间
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 适配导航栏空间
效果如下: