Android 状态栏的设置

Android 状态栏的设置,第1张

先看一下默认的情况:

蓝色一行是自定义的导航栏,

黑色的是自带的 ActionBar ,也就是我们说的标题栏

首先一般都会选择去掉 ActionBar:

隐藏 actionbar 有很多种方法

这种方法是全局中隐藏了标题栏。

其实在我的手机更新系统之前,隐藏了 ActionBar 后,状态栏和自定义的导航栏颜色是相匹配的,不知道什么原因现在默认为灰色了。

上面使用的主题虽然隐藏了标题栏,但是和我们自定义的导航栏不搭,

这时候我们可以选择用自定义的主题(Theme),来改变状态栏:

在 values 下的 style.xml 中添加

或者在 onCreate 中:

上面两行一般不一起设置,二选一即可。

第一行设置导航栏为透明,第二行将导航栏隐藏。

不推荐第二种做法,如果一个 Activity 中设置了隐藏导航栏而另一个 Activity 没有,那两者切换的时候会不好看。

融合的效果:

状态栏和 app 顶部相融合了,如果标题栏是一张图片效果会更好。

这里还有一个问题,状态栏的文字和我们导航栏的文字重叠了,

我们可以选择在布局文件的根元素中添加:

让布局为状态栏留出空间,就不会出现上面这张被状态栏遮挡的情况。

如果像上面的例子是一样的纯色的标题栏,我们可以选择直接改变状态栏的颜色解决问题。

或者:

不显示时间、电量等信息和文字:

同要可以用修改 Theme 来实现:

或者在 OnCreat() 中加入,还是要注意加在 setContentView() 的前面

如果想让图片全屏要注意设置为:

Android动态更改actionbar的背景颜步骤:

在backgroud下面再写一个style,修改values-v14文件夹下的style.xml文件

[html] view plaincopy

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<!--

Base application theme for API 14+. This theme completely replaces

AppBaseTheme from BOTH res/values/styles.xml and

res/values-v11/styles.xml on API 14+ devices.

-->

<style name="AppBaseTheme" parent="android:Theme.Holo.Light">

<!-- API 14 theme customizations can go here. -->

<item name="android:actionBarStyle">@style/my_actionbar_style</item>

</style>

<style name="my_actionbar_style" parent="@android:style/Widget.Holo.Light.ActionBar">

<item name="android:background">#647b97</item>

<item name="android:titleTextStyle">@style/AcBar_titleStyle</item>

[html] view plaincopy

<item name="android:backgroundStacked">#4A708B</item> <!-- 分离成tab时的tab颜色 -->

[html] view plaincopy

<item name="android:backgroundSplit">@color/ab_backgroundSplit_color</item>

</style>

<style name="AcBar_titleStyle">

<item name="android:textColor">#FFFFFF</item>

</style>

</resources>

<item name="android:backgroundSplit">@color/ab_backgroundSplit_color</item>actionbar item

这样就分离在底部时候的颜色。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11214204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存