如果想要改变 Android 导航栏的颜色,需要使用 Window 类的 setNavigationBarColor() 方法。示例代码如下:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getActivity().getWindow();
window.setNavigationBarColor(getResources().getColor(R.color.your_color));
}
其中,第一行判断当前设备的 Android 版本是否大于等于 Android 5.0(对应的版本号为 Build.VERSION_CODES.LOLLIPOP),如果是的话,才执行下面的代码。
第二行获取当前 Activity 的 Window 对象。
第三行调用 setNavigationBarColor() 方法,将导航栏的颜色设置为你想要的颜色(使用 getResources().getColor(R.color.your_color) 来获取当前主题中定义的颜色值)。
注意:在 Android 9.0 后,Google 引入了全面屏手势操作,导致导航栏变得透明并且额外空出了一定的高度。如果想要完全控制导航栏的外观,建议使用 Android 10.0 及以上版本的系统,并使用 Material Design 风格的底部操作栏(BottomAppBar)来代替传统的导航栏。
下一篇:Android导航片段状态