我想在透明状态栏后面绘制布局。 我正在使用指挥的控制器来实现我的应用程序的屏幕,它们都具有白色状态栏,但是其中一个需要它是完全透明的。进入此控制器时,我不能使用windowTranslucentStatus标志,因为当控制器进入并存在屏幕时,它会使我的布局略微跳动。我认为自定义窗口插图可以帮助在状态栏后面绘制一个控制器,而不会跳转布局,但是我不知道该怎么做。有人可以帮我吗?
答案 0 :(得分:0)
在布局的根视图中使用android:fitsSystemWindows="true"
。
fitsSystemWindows
的作用是什么?
系统窗口是系统绘制非交互式(对于状态栏而言)或交互式(对于导航栏而言)内容的屏幕部分。 大多数情况下,您的应用无需在状态栏或导航栏下绘制,但如果这样做,则需要确保交互元素(如按钮)没有隐藏在它们的下方。这就是android:fitsSystemWindows =“ true”属性的默认行为:它设置了View的填充,以确保内容不会覆盖系统窗口。
答案 1 :(得分:0)
为此,我建议您隐藏状态栏并启用全屏窗口。试试下面,它可以工作。
步骤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>
步骤2:在清单文件中应用活动主题,也可以在应用程序级别应用主题。例如,已添加活动级别。
<activity
android:name=".MainActivity"
android:theme="@style/FullScreen" />