最近开发中老师会遇到toobar和status bar这个梗。之前没有多大在意,因为我发现用上toolbar时,手机会自动更改状态栏的颜色,后来我特意用别的低版本手机试了试,简直是个坑。
后来一直想找个最终的适配办法。好像一直没有很好的解决问题,后来弄出了以下方法。虽然有不合理的地方,不过对效果来说没什么问题了,包括低版本的手机也能显示良好。
这里主要是通过布局已经主题来实现的。
这里用到了material design中的NavigationView
,如果对NavigationView
不熟悉可以看这里:http://blog.csdn.net/lmj623565791/article/details/46405409:
效果图:
主布局:
这里主要是这个属性:android:fitsSystemWindows="true"
意思是说使内容扩展到状态栏。不然后状态栏不会有变化,尤其想让图片全屏显示时。其它的没什么特别要注意的地方。
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:fitsSystemWindows="true"
tools:context=".MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/id_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#0cbcf6"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<TextView
android:id="@+id/id_tv_content"
android:layout_width="