1.在xml布局的根视图中添加:
android:fitsSystemWindows="true"
2.在AndroidMenifest.xml中的theme中添加:
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
这种设置方式的效果
或者是
private void setStatusColor() { if (Build.VERSION.SDK_INT >= 21) { //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明导航栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); // 部分机型的statusbar会有半透明的黑色背景 getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().setStatusBarColor(Color.TRANSPARENT); } }
3.设置键盘模式:
在AndroidMenifest.xml中:android:windowSoftInputMode="adjustResize"
4.状态栏颜色
状态栏颜色有标题栏的颜色决定,会自动进行修改设置。