Android 的状态栏设置图片填充或者颜色填充

博客介绍了手机页面各部分在Android中的字段表示,重点讲解了状态栏设置。包括将statusBarColor设置为图片,需在res—values—style中添加样式,设置相关属性使图片拉伸到状态栏等;还介绍了将状态栏设置为固定颜色,涉及style.xml样式设置、AndroidManifest.xml引用及activity_main.xml添加代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.手机的页面各部分在android中表示的字段:

 

2.statusBarColor(状态栏)设置为图片:

  1.    在res—values—style中添加这样的样式:
  //----------------------状态栏设置图片填充----------------
    <style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus" tools:ignore="NewApi">false</item>
        <item name="android:windowTranslucentNavigation" tools:ignore="NewApi">true</item>
        <!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
        <item name="android:statusBarColor" tools:ignore="NewApi">@android:color/transparent</item>
    </style>

windowTranslucentStatus:设置为true后,意思就是图片就可以拉伸到状态栏,并且状态栏为透明色。

windowTranslucentNavigation:设置为true后,意思就是图片就可以拉伸虚拟键盘,并且状态栏为透明色。

statusBarColor:设置状态栏颜色为透明色。

这样一设置后,就相当于填充整个屏幕了,不留一点空间了,如果你是列表的话,那么无所谓,并不影响操作和页面效果,如果你的是最下面有按钮的页面的话,你会发现这玩意就是一个坑啊,因为你的按钮填充到了下面,你根本按不到,而且如果你设置了透明属性的话,你会发现虚拟键和你最下面的按钮都重合在一起,具体效果:

 

 

2.AndroidManifest.xml中设置

<activity android:name=".MainActivity"
          android:theme="@style/ImageTranslucentTheme" >
</activity>

3.activity_main.xml中的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"  
    tools:context=".MainActivity"

    android:fitsSystemWindows="true"
    android:background="@mipmap/ss">



</LinearLayout>

主要添加:

      android:fitsSystemWindows="true"
      android:background="@mipmap/ss"
    这样就完成所有的步骤,成功实现上图效果,图片填充到状态栏和虚拟键盘。

3.状态栏设置固定的颜色

 

  1. 设置style.xml 的样式
    <style name="ColorTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
            <item name="android:windowTranslucentStatus">false</item>
            <item name="android:windowTranslucentNavigation">true</item>
            <item name="android:statusBarColor">@color/colorPrimaryDark</item>
    </style>
  2. 在AndroidManifest.xml清单文件中的Activity中引用
<activity android:name=".MainActivity"
          android:theme="@style/ColorTranslucentTheme" >
</activity>

     3.在activity_main.xml 文件中添加

android:fitsSystemWindows="true"

参考

https://blog.youkuaiyun.com/GXSeveryday/article/details/82694368

https://blog.youkuaiyun.com/zjt593688/article/details/52606980

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值