我想在5.0 或者4.4 操作系统都实现沉淀式状态栏或透明状态栏,最好全部都采用style 的方式实现,最好不用这个开源库https://github.com/jgilfelt/SystemBarTint求解决思路
经过这几天的思考和研究,发现使用ActionBar,和不使用ActionBar,改为Toolbar 效果完全是不一样的,那在这两种情况下是否都可以完美的实现呢
我想在5.0 或者4.4 操作系统都实现沉淀式状态栏或透明状态栏,最好全部都采用style 的方式实现,最好不用这个开源库https://github.com/jgilfelt/SystemBarTint求解决思路
经过这几天的思考和研究,发现使用ActionBar,和不使用ActionBar,改为Toolbar 效果完全是不一样的,那在这两种情况下是否都可以完美的实现呢
实现状态栏沉浸非常简单,而且只需要通过style配置
在 values-v19
下的 styles.xml
里定义如下主题,并在 Manifest.xml
里将应用主题确定为这个主题即可。
<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">false</item>
</style>
android:windowTranslucentStatus
表示状态栏透明android:windowTranslucentNavigation
表示导航栏(虚拟按键栏)透明
沉浸是小事,关键麻烦在对 layout
布局里的改动,fitsSystemWindows
的优化,
凭经验告诉你,SystemBarTint已经算是最简单的解决方案。
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
2 回答1.7k 阅读
1 回答1.3k 阅读
1.3k 阅读
对于top view, 可以用style,
但window flag还是需要代码做版本支持判断的,
是没法在style中表示的,style自己做不了版本标识区别。
activity_main.xml
MainActivity.java