android - 如何将状态栏和导航栏设置为对片段透明
问题描述
我正在使用只有一个片段容器的片段,并试图使状态栏和导航栏透明以显示片段的内容。
我使用这种风格作为活动主题,但结果是一个透明的状态栏,显示活动布局,如图所示
<style name="AuthTheme" parent="AppTheme">
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
</style>
解决方案
在调用 setContentView() 之前在 Activity oncreate() 方法中添加此行
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
在你的容器布局中添加这个
android:fitsSystemWindows="true"
推荐阅读
- c# - 发布命令后的 SocketException,ApplicationClient
- python - 使用时间作为自变量与 pandas 滚动 OLS
- firebase - Firestore 文档的链接列表
- awk - 如何修复在 Tcl 中执行 awk?
- python - 如何删除 Django 模型表单的内置错误列表?
- sql - SQL Server:将“mm/dd/yyyy”插入“date”或“datatime2”列的最佳方法?
- html - 这可能来自哪个材料设计库?
- android - 编辑内容时 ListAdapter 不更新
- reactjs - 反应useState,useEffect没有按预期工作
- python - 在 C++ 中更快执行两个程序的可能解释(与 Python 比较)?