但是也要知道一点 。那个红色的TextView,原来是紧贴着状态栏 。现在是紧贴着屏幕的上边缘 。这样就导致 。内容被遮挡 。解决这个问题需要一个关键的属性是setFitSystemWindow=true 。追踪源码可知 。它可以让我们的布局 。paddingTop等于状态栏的高度 。这样红色TextView的位置就会向下移 。从而不会被遮挡 。
3.半透明状态栏,fitSystemWindows=true@Overridepublicvoidinit(BundlesavedInstanceState){setHalfTransparent();setFitSystemWindow(true);}

文章插图

文章插图
此时红色的TextView 。位于状态栏下方 。
4.全透明状态栏,fitSystemWindows=falsesetStatusBarFullTransparent();setFitSystemWindow(false);

文章插图

文章插图
全透明和半透明的区别在于 。状态栏是否具有淡黑色的背景 。根据项目需求合理运用 。
5.全透明状态栏,fitSystemWindows=truesetStatusBarFullTransparent();setFitSystemWindow(true);

文章插图

文章插图
6.DrawerLayout如何使用直接使用上述方式 。在4.4系统上会出现异常 。因此我们需要进行适配 。
修改xml文件 。DrawerLayout需要添加fitsSystemWindows和clipToPadding属性 。DrawerLayout布局里的一级布局 。都需设置fitsSystemWindows=true 。
<?xmlversion="1.0"encoding="utf-8"?><android.support.v4.widget.DrawerLayoutandroid:id="@+id/drawerLayout"xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:fitsSystemWindows="true"android:clipToPadding="false"android:layout_height="match_parent"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:fitsSystemWindows="true"android:background="@drawable/bg_start"android:orientation="vertical"><Buttonandroid:id="@+id/button"android:layout_width="100dp"android:layout_height="wrap_content"android:background="#F86254"android:text="show"android:textColor="@color/white"/></RelativeLayout><FrameLayoutandroid:id="@+id/sideLayout"android:layout_width="300dp"android:fitsSystemWindows="true"android:layout_height="match_parent"android:layout_gravity="end"android:background="@drawable/bg_test"><Buttonandroid:layout_width="100dp"android:layout_height="30dp"android:background="#F86254"android:text="button"android:textColor="@color/white"/></FrameLayout></android.support.v4.widget.DrawerLayout>
(1).全透明状态栏 。fitsSystemWindows=false
setStatusBarFullTransparent();

文章插图

文章插图
(2).DrawerLayout全透明状态栏 。fitsSystemWindows=true
setStatusBarFullTransparent();setDrawerLayoutFitSystemWindow();

文章插图

文章插图
7.可能会错误的地方本来我们有一个界面:

文章插图

文章插图
然后按照上面的 。添加了代码之后
setStatusBarFullTransparent();setFitSystemWindow(true);

文章插图

文章插图
然后你提刀来问楼主 。这是什么鬼!!!
说好的透明状态栏呢 。怎么状态栏背景色是白色的!

文章插图

文章插图
确实是全屏了 。状态栏也透明了 。只是由于 。根布局没设置背景色 。默认的背景色白色 。所以你看到的灰色状态栏底色 。其实是根布局的TopPadding 。
- 电脑如何进去休眠状态 如何让电脑进入到休眠状态
- 法师多肉怎么养成多头 法师多肉怎么才能出状态
- 多肉怎么养才会出状态呢 多肉怎么养才会出状态
- 巅峰时期刘翔的成绩在当今110米栏赛场上是什么水平?
- 为什么刘翔退役后,男子110米栏在中国就没有多少人关注了?
- 14年前福地洛桑,110米栏决赛的12秒88震惊世界!刘翔是中国最伟大的运动员有争议么?
- 时隔17年!刘翔12秒91的纪录仍未打破,东京110米栏冠军跑多快?
- 多肉怎么养出老桩状态 多肉怎么养出老桩?
- TB怎样清除猜你喜欢 怎么去掉猜你喜欢推荐的那栏
- oppo手机通知栏hd怎么关闭 手机通知栏hd怎么关闭
