🌑

小羊儿的心情天空

Xamarin.Forms 安卓沉浸式状态栏

Mar 29, 2018 由 小羊

一开始用MasterDetailPage做DrawerLayout的时候发现没办法透过状态栏,记录踩坑全过程。

values/style.xmlMainTheme.Base 里面加入:

<item name="android:windowTranslucentStatus">true</item>

然后状态栏是透过去了,但是Toolbar也跟着上去了……

values/style.xmlMainTheme 里面加入:

<item name="actionBarSize">@dimen/action_bar_default_height_material_overlay</item>

action_bar_default_height_material_overlay竖屏76.0dip,横屏68.0dip

layout/Toolbar.axml里加入两个属性

<android.support.v7.widget.Toolbar
...
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:paddingTop="12dp"
app:titleMarginTop="24dp"
...
/>

大致是完成了。

后期发现ActionMode的状态栏会变宽,后来这样解决

values/style.xml里面加入:

<style name="MainTheme.ActionMode" parent="Widget.AppCompat.ActionMode">
<item name="height">@dimen/action_mode_default_height_material_overlay</item>
<item name="actionBarSize">@dimen/action_mode_default_height_material_overlay</item>
</style>

values/style.xmlMainTheme.Base里面加入:

<item name="actionModeStyle">@style/MainTheme.ActionMode</item>

action_mode_default_height_material_overlay竖屏56.0dip,横屏48.0dip