1

我想在透明状态栏后面绘制我的布局。我正在使用指挥的控制器来实现我的应用程序的屏幕,它们都有白色的状态栏,但需要它是完全透明的。进入此控制器时我不能使用 windowTranslucentStatus 标志,因为它会导致我的布局在控制器进入并存在屏幕时稍微跳跃。我认为自定义窗口插图可以帮助在状态栏后面绘制一个控制器而不会发生布局跳跃,但我不知道如何做到这一点。有人可以帮我吗?

4

2 回答 2

1

android:fitsSystemWindows="true"在布局的根视图中使用。

做什么fitsSystemWindows

系统窗口是系统正在绘制非交互式(在状态栏的情况下)或交互式(在导航栏的情况下)内容的屏幕部分。大多数情况下,您的应用不需要在状态栏或导航栏下进行绘制,但如果这样做:您需要确保交互元素(如按钮)不会隐藏在它们下方。这就是 android:fitsSystemWindows=“true” 属性给你的默认行为:它设置 View 的填充以确保内容不会覆盖系统窗口。

资源

于 2018-08-23T12:43:32.847 回答
-1

为此,我建议您隐藏状态栏并启用全屏窗口。试试下面,它的工作原理。

第 1 步:在 style.xml 中创建主题

<style name="FullScreen" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

第二步:在manifest文件中为activity应用主题,也可以在应用层应用主题。例如在活动级别中添加。

<activity
    android:name=".MainActivity"
    android:theme="@style/FullScreen" />
于 2018-08-23T13:25:46.723 回答