日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android 沉浸栏灰色,Android 沉浸栏实践——踩坑

發布時間:2023/12/10 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 沉浸栏灰色,Android 沉浸栏实践——踩坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當前開發環境:Android Studio 2.1.3,compileSdkVersion 24,buildToolsVersion "24.0.2",support:appcompat-v7:24.2.0

首先放個圖,這就是我要做成的效果,Toolbar 和 Status Bar 一體共用背景圖,實際上就是 Toolbar 的背景圖延伸到 Status Bar。

效果圖

先做一點點思考。我不打算修改 toolbar 的高度,設置為 android:layout_height="?attr/actionBarSize" 就好,否則 fitsSystemWindows 之后就需要設置 toolbar 高度為 25dp + 48dp = 73dp,同時其他的內容也會改變。那么,可以考慮在 AppBarLayout 中設置背景,然后讓它侵入到狀態欄去。現在 style.xml 看起來會是這樣:

@color/colorPrimary

@color/colorPrimaryDark

@color/colorAccent

false

true

true

false

true

@android:color/transparent

false

true

toolbar 的布局文件差不多是這樣子:

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:fitsSystemWindows="true"

android:paddingTop="@dimen/appbar_top_padding"

android:background="@drawable/bg_bar"

android:theme="@style/AppTheme.AppBarOverlay">

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="?attr/actionBarSize"

app:popupTheme="@style/AppTheme.PopupOverlay" />

主布局文件差不多是這樣子:

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/root"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true"

tools:context="com.iamwent.tinter.MainActivity">

android:layout_width="match_parent"

android:layout_height="match_parent"

app:layout_behavior="@string/appbar_scrolling_view_behavior" >

android:id="@+id/tv_sdk"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:padding="16dp"/>

然后你運行,發現 v21 的效果出來了,但是 v19 是這么個鬼!

v19效果

那個灰色條是什么?又是怎么來的呢?給跟布局設置背景色就可以發現,灰色條實際上是因為根布局侵入了狀態欄,從我們給根布局設置的 android:fitsSystemWindows="true" 就是讓布局上去

對于 android:windowTranslucentStatus文檔上是這么說的:

By enabling translucent system bars, your layout will fill the area behind the system bars, so you must also enable fitsSystemWindows

for the portion of your layout that should not be covered by the system bars.

開啟透明狀態欄后,你的布局會填充狀態欄下面的區域,所以你應當同時設置布局 fitsSystemWindows 以防止被狀態欄覆蓋。

而對于 android:fitsSystemWindows 文檔又是這么說的:

Boolean internal attribute to adjust view layout based on system windows such as the status bar. If true, adjusts the padding of this view to leave space for the system windows. Will only take effect if this view is in a non-embedded activity.

配置 fitsSystemWindows 后,系統就會調整 view 的 padding 以給 system windows 留出空間。

解決辦法是根布局不設置 android:fitsSystemWindows,然后在代碼中判斷,在 v21 以上手動設置這一屬性,代碼如下:

private void setTranslucentStatusBar() {

int sdkInt = Build.VERSION.SDK_INT;

if (sdkInt >= Build.VERSION_CODES.LOLLIPOP) {

setTranslucentStatusBarLollipop();

}

}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)

private void setTranslucentStatusBarLollipop() {

((ViewGroup) getWindow().findViewById(android.R.id.content)).getChildAt(0).setFitsSystemWindows(true);

}

昨晚吐槽的時候,有位朋友提醒了我,這個值也可以用 style 的方式設置:

true

我腦袋一抽,覺得以下這個方式可能也可以:

false

true

坑位零

在上面的配置中涉及到了多個屬性的設置,建議修改為不同的值,看看它們會造成什么樣的效果。

android:statusBarColor

android:windowDrawsSystemBarBackgrounds

坑位一

奇怪的間隔

眼尖的人可能在最前面的效果圖就看到了,那就是在 v23 上這個顯示系統版本的 TextView 有一個奇怪的 margin,而且很巧合的就是 25dp!最后我發現,是由于給主布局的 RelativeLayout 設置了 app:layout_behavior="@string/appbar_scrolling_view_behavior" 造成的。解決辦法是在 v23 上給 RelativeLayout 設置 android:layout_marginTop="-25dp",可以在 dimens 中做。

坑位二

在修改的過程中我還發現一個奇怪的問題,status bar 是個灰色的條,超級奇怪!最后對比發現是 AppTheme.NoActionBar 采用繼承 Theme.AppCompat.Light.NoActionBar 的方式,解決辦法是不繼承 parent,采用手動配置。

Theme 造成的怪現象

結語

我是要給一個半成品的 APP 做適配,所以先單獨做了一個 demo 實現想要的——后來踩到的坑證明我這個決定是多么的正確!特別是坑位三。所以一旦出現莫名其妙的錯誤,我就對照 demo 的配置一個個地方去排除。

另外,多試試各種配置的作用,明白它們影響的是什么區域,碰到問題才好修改。

總結

以上是生活随笔為你收集整理的android 沉浸栏灰色,Android 沉浸栏实践——踩坑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级黄色免费网站 | 久草国产在线观看 | 亚洲第一黄网 | 91在线观看免费 | 国产日本精品 | 亚洲a黄 | 日本打屁股网站 | 西西毛片 | 色偷偷av一区二区三区 | 欧美激情在线 | 激情草逼| 亚洲人成一区 | 性爽爽| 日韩人妻精品无码一区二区三区 | 国产寡妇色xxⅹ交肉视频 | 国产免费一区二区三区视频 | 97超碰免费在线 | 亚洲最大福利网 | 四虎永久在线精品免费网址 | 色婷婷热久久 | 久久久穴 | 人妻妺妺窝人体色www聚色窝 | 久热精品视频在线观看 | 啪啪福利| 俺去久久 | 好吊色综合 | 亚洲成人久 | 欧美手机在线视频 | 成人深夜福利在线观看 | 日本亚洲国产 | 秋霞影院午夜老牛影院 | 亚洲爱情岛论坛永久 | 亚洲无码国产精品 | 欧美久草| 欧美色精品 | 亚洲涩涩视频 | 一级黄色片免费看 | 成人爽爽视频 | 午夜欧美在线 | 亚洲理论中文字幕 | 色无极影院亚洲 | 精品无码国产av一区二区三区 | 人人爽视频 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产老头老太作爱视频 | 久久精品色妇熟妇丰满人妻 | 色网站在线 | 欧美.com| 国产一区二区三区18 | 欧美a级在线观看 | 深夜福利免费在线观看 | 色综合久久88色综合天天 | 亚洲欧美第一页 | www.爱色av.com| 免费看aaaaa级少淫片 | 午夜免费小视频 | 色av资源| 国产精品对白 | 小日子的在线观看免费第8集 | 国产又色又爽无遮挡免费动态图 | 国产性生活毛片 | www香蕉| 久久久久久爱 | 黄色在线免费播放 | 手机av在线不卡 | 成人在线视频在线观看 | 亚洲精品h | 婷婷色激情 | 国产午夜精品一区二区三区 | 苏晴忘穿内裤坐公交车被揉到视频 | 西川结衣在线观看 | 婷婷国产一区 | 先锋影音av资源网站 | 老外毛片 | www在线视频 | 亚洲性生活视频 | 手机成人在线视频 | 超碰女人 | 欧美日韩不卡视频 | 久久免费在线观看 | 黄色大片av| 成年人在线观看av | 天天干天天添 | 黄瓜视频色 | 婷婷国产一区二区三区 | 免费av黄色 | 萌白酱一区二区 | 亚洲图片另类小说 | 亚洲欧美视频在线播放 | 国产一区二区在线播放 | 亚洲色精品三区二区一区 | 麻豆天天躁天天揉揉av | 国产馆av| 日韩免费一区二区 | 亚洲欧美在线视频 | 超碰2025| 久操视频免费观看 | 婷婷综合另类小说色区 | h成人在线|