android - android:设置状态和导航栏颜色
问题描述
对于我的活动,我将窗口的背景颜色设置为
window.decorView.setBackgroundResource(R.drawable.background_red)
现在我希望状态和导航在这个背景上得到更深的阴影。我怎么能得到这个。我尝试将主题设置为
`<style name="Theme.OnArrival.AccessControl" parent="Theme.OnArrival.Light">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>`
但它似乎不适用于导航栏。什么是正确的方法
解决方案
要以编程方式设置状态栏颜色,请使用以下代码:
Window window = activity.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(ContextCompat.getColor(activity,R.color.statusbar_color));
或设置colorPrimaryDark
在您的主题中。
有关详细信息,请参阅此处。
推荐阅读
- google-cloud-platform - 大查询 | 如何创建像谷歌分析 bigquery 表这样的表
- amazon-web-services - 在 Aws lambda 和 EC2 实例之间共享文件
- javascript - Vimeo Player SDK:使用 iframe 时事件侦听器不起作用
- c# - C# System.IO 如何获取项目中文件夹的路径
- excel - 我怎样才能让我的循环移动到下一个工作簿而不在第一个工作簿中重复?
- sequelize.js - Sequelize.sync() 一次可以创建多少张表
- jpa - 如何使用 ObjectTypeConverter 管理空值?
- javascript - Leaflet 和 Mapquest:未捕获(承诺中)TypeError:无法读取未定义的属性“min”
- javascript - 在 React Native 中为文本组件中的图像设置样式
- javascript - chrome扩展,捕获全年龄截图重复位置固定元素