一、style中
1.
<item name="android:windowTranslucentNavigation">false</item> 属性值设为false 可设置虚拟按键区域颜色
<item name="android:navigationBarColor">@android:color/white</item>
<item name="android:statusBarColor">@android:color/transparent</item>
也可在代码中设置虚拟按键区域颜色
getWindow().setNavigationBarColor(getResources().getColor(R.color.black));
-----------------------------
主module有设置tools:replace="android:theme"时,编译时子module的theme会被主module覆盖
若无设置,在多个module的application设置theme可能导致编译报错
可以把theme设置到具体的activity中
二、Activity中
1.
在onCreate中setContentView之前
设置getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);,则效果同<item name="android:windowTranslucentNavigation">false</item>,不可设置虚拟按键颜色,虚拟按键颜色为半透明(灰色),布局可扩展到虚拟按键区域
2.
设置
View decorView = getWindow().getDecorView();
int systemUiVisibility = decorView.getSystemUiVisibility();
decorView.setSystemUiVisibility(systemUiVisibility | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
不会影响虚拟按键区域背景色,布局可扩展到虚拟按键区
1.
<item name="android:windowTranslucentNavigation">false</item> 属性值设为false 可设置虚拟按键区域颜色
<item name="android:navigationBarColor">@android:color/white</item>
<item name="android:statusBarColor">@android:color/transparent</item>
也可在代码中设置虚拟按键区域颜色
getWindow().setNavigationBarColor(getResources().getColor(R.color.black));
<item name="android:windowTranslucentNavigation">true</item> 属性值设为true 则不可设置虚拟按键区域颜色,虚拟按键区域颜色为半透明(灰色),布局可扩展到虚拟按键区域
2.
-----------------------------
主module有设置tools:replace="android:theme"时,编译时子module的theme会被主module覆盖
若无设置,在多个module的application设置theme可能导致编译报错
可以把theme设置到具体的activity中
二、Activity中
1.
在onCreate中setContentView之前
设置getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);,则效果同<item name="android:windowTranslucentNavigation">false</item>,不可设置虚拟按键颜色,虚拟按键颜色为半透明(灰色),布局可扩展到虚拟按键区域
2.
设置
View decorView = getWindow().getDecorView();
int systemUiVisibility = decorView.getSystemUiVisibility();
decorView.setSystemUiVisibility(systemUiVisibility | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
不会影响虚拟按键区域背景色,布局可扩展到虚拟按键区