如何设置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+开发者如何关闭日志记录器缓冲区
  • 热门搜索
    胸一大一小怎么办 绿源电动车怎么样 刘怎么组词 京东怎么取消订单 脱发怎么治 vpn怎么设置 方舟生存进化怎么联机 我的世界红石怎么挖 cad布局怎么用 next怎么读