改变虚拟导航栏(navigation bar)背景色及图标颜色 |
您所在的位置:网站首页 › 安卓手机怎么换背景颜色 › 改变虚拟导航栏(navigation bar)背景色及图标颜色 |
众所周知,安卓系统中存在着虚拟导航栏,它们不是实体按键,而是通过软件实现的。一般而言,虚拟导航栏是长成下面这样的: 在styles文件中的Theme中指定上面的属性就可以改变导航栏的背景色了。 需要注意的是:该方法是在Android5.0中才加入的,而且在设置之前还需要判断手机是否支持虚拟导航栏。 /** * Return whether the navigation bar visible. * * @return {@code true}: yes{@code false}: no */ public static boolean isSupportNavBar() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { WindowManager wm = (WindowManager) BaseApplication.getsApplication().getSystemService(Context.WINDOW_SERVICE); if (wm == null) return false; Display display = wm.getDefaultDisplay(); Point size = new Point(); Point realSize = new Point(); display.getSize(size); display.getRealSize(realSize); return realSize.y != size.y || realSize.x != size.x; } boolean menu = ViewConfiguration.get(BaseApplication.getsApplication()).hasPermanentMenuKey(); boolean back = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); return !menu && !back; }现在我们能够自由地控制导航栏的背景色了,但是有的时候我们可能还需要改变虚拟导航栏图标的颜色。 如果我们把背景色设置成白色,那么会是什么效果呢? 这样设置以后导航栏按键的颜色就变成深色了。需要注意的是,该API是在27中才加入的。 总结一下: 设置导航栏背景色:设置navigationBarColor属性即可;改变导航栏按键颜色为深色:设置标志位View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR,或者属性中设置windowLightNavigationBar为true; |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |