android透明状态栏,手机透明状态栏

Android 隐藏状态栏、标题栏、透明状态栏的几种方式

不管是继承AppCompatActivity还是Activity都适用:

创新互联建站是一家专业提供化隆企业网站建设,专注与成都网站制作、成都网站设计、H5页面制作、小程序制作等业务。10年已为化隆众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

在style.xml定义

在AndroidManifest.xml里面设置下theme属性:

1.在style.xml定义

2.在AndroidManifest.xml里面设置下theme属性

Android 状态栏的设置

先看一下默认的情况:

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

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

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

隐藏 actionbar 有很多种方法

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

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

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

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

在 values 下的 style.xml 中添加

或者在 onCreate 中:

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

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

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

融合的效果:

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

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

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

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

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

或者:

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

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

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

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

如何将状态栏设置透明

Android4.4以后, 可以将状态栏设置为透明, 或者任意颜色 

1. 全屏模式 

2. 着色模式 

在Android4.4之后提供了可以修改状态栏的属性接口后,我们可以直接通过style文件来配置状态栏, 但是需要注意的是, 为了兼容4.4以下的版本, 所以必须在配置多个API级别的values文件. 这里直接借参考文章中的图: 

最基本的在4.4版本之下会加载默认的values/styles.xml, 如果在4.4版本会加载 values-v19/styles.xml, 5.0以上加载 values-v21/styles.xml文件. 具体配置如下:

values/styles.xml

style name="ImageTranslucentTheme" parent="AppTheme"

!--在Android 4.4之前的版本上运行,直接跟随系统主题--/style123

values-v19/styles.xml

style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar"

item name="android:windowTranslucentStatus"true/item

item name="android:windowTranslucentNavigation"true/item

/style1234

values-v21/styles.xml

style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar"

item name="android:windowTranslucentStatus"false/item

item name="android:windowTranslucentNavigation"true/item

!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色--

item name="android:statusBarColor"@android:color/transparent/item

/style


网页题目:android透明状态栏,手机透明状态栏
本文URL:http://azwzsj.com/article/dsdighp.html