上代码:
1 | if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { |
1 | /** |
其中:linear_bar 为布局里面标题栏上面1dp大小占位1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/base_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/status_bar_ll"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@color/main_theme_color"
android:orientation="vertical"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/layout_head"
android:layout_width="match_parent"
android:layout_height="48dip"
android:background="@color/main_theme_color"
android:orientation="horizontal">
...
以上就实现了Android 沉浸式状态栏。
但如果你Activity底部有输入框,需要弹出键盘,上述方式会导致布局不受挤压键盘,直接遮挡住输入框,解决方案很简单,即在布局文件最开头加入:1
android:fitsSystemWindows="true"