如何设置android导航栏颜色

 时间:2024-10-11 20:03:12

1、对于按键在屏幕内部的机型,因为虚拟按键也是屏幕内容的一部分,它也实际占据屏幕一定的高度,在系统应用中虚拟按键默认呈现的都是透明的背景色,但是在用户应用中如果未设置虚拟按键的背景颜色,它默认呈现的多为黑色。

如何设置android导航栏颜色

2、对于按键在屏幕内部的机型,因为虚拟按键也是屏幕内容的一部分,它也实际占据屏幕一定的高度,在系统应用中虚拟按键默认呈现的都是透明的背景色,但是在用户应用中如果未设置虚拟按键的背景颜色,它默认呈现的多为黑色。

如何设置android导航栏颜色

3、但是我们可能会看到有些App为了统一自己的风格样式,标题栏和底部的虚拟按键的颜色是一致的,他们是怎么实现的呢?

4、状态栏和标题栏的颜色设置可以通过theme主题来控制,这里不做介绍了,下面说一下如何改变底部虚拟按键的背景颜色:

5、大家看到了这是一个抽象方法,那么Window的子类有没有实现这个方法呢,Window有一个子类PhoneWindow它实现了父类所有的抽象方法

如何设置android导航栏颜色

6、大家看到了这是一个抽象方法,那么Window的子类有没有实现这个方法呢,Window有一个子类PhoneWindow它实现了父类所有的抽象方法

如何设置android导航栏颜色

7、这便是修改手机虚拟按键背景颜色的实现方法了我们如何得到PhoneWindow对象呢?

如何设置android导航栏颜色

8、这个mWindow对象在Activity的attach方法中进行了实例化:

如何设置android导航栏颜色

9、mWindow正是PhoneWindow的实例,到此我们就可以在Activity中改变系统虚拟按键的背景颜色了

如何设置android导航栏颜色

10、这里有一个系统版本的判断,因为setNaviationBarColor(int color)这个Api是在API Level 21才出现的,即Android 5.0及以上的机型才可以使用该Api。(API Level与Android版本对照表由于我们一个项目中可能会有很多Activity,所以建议把修改虚拟按键的逻辑放在抽取的BaseActivity的onCreate()方法中。

  • 华为p7如何导航栏颜色
  • 如何激活左游手柄外置映射?
  • 三星手表Gear 2拆解教程:外表时尚内涵强大
  • 魅族手机如何打开或进入开发者模式
  • GaIaxy S9+开发者如何关闭日志记录器缓冲区
  • 热门搜索
    科技改变生活手抄报 国庆节 手抄报 环境手抄报内容 城南旧事手抄报 八礼四仪手抄报内容 关于科普知识的手抄报 窗边的小豆豆手抄报 国庆节手抄报简单 关于西游记的手抄报 运动会手抄报资料