充分利用状态栏空间

Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间像这张照片一样看着舒服Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间

Android Material Design 之手机充分利用状态栏空间

想要让背景和系统状态栏充分融合


需要借助

android:fitsSystemWindows

这个属性来完成

将 android:fitsSystemWindows这个属性设置为true即可以了


不过要谨记必须要将图片布局结构(例如ImageView之类的)所有父布局都设置上这个属性才可以

Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间不过。。。难道就这么简单的吗?Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间


你会发现结果不尽人。。


为啥那?

因为还必须在程序的主题中将状态栏颜色指定为透明 的才行


指定透明色的方法很简单

在主题中

android:statusBarColor属性的值

指定为

@android:color/transparent就可以了


但问题在于android:statusBarColor这个属性

是从Android5.0开始才有的

Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间之前的系统无法指定这个属性Android Material Design 之手机充分利用状态栏空间Android Material Design 之手机充分利用状态栏空间


系统差异的功能就开始了


android5.0之前的系统

android5.0之后的系统

我们在android5.0的基础上还需要对values/styles.xml文件进行修改

右击res目录->New->Diretory,创建一个values-21目录,然后右击values-21目录->New->Values resource file,创建一个styles.xml文件代码如下:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

    <style name="FruitActivityTheme" parent="AppTheme">

    </style>
</resources>

并且修改AndroidManifest.xml中的代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="FruitActivityTheme" parent="AppTheme">
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
</resources

<activity
    android:name=".FruitActivity"
    android:theme="@style/FruitActivityTheme">
</activity>

Android Material Design 之手机充分利用状态栏空间

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="FruitActivityTheme" parent="AppTheme">
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
</resources>


具体项目请访问[我的github]之MaterialTest

相关文章:

  • 2021-11-26
  • 2021-06-28
  • 2021-08-02
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2021-07-11
猜你喜欢
  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
  • 2021-10-10
  • 2021-04-23
  • 2022-12-23
  • 2021-07-15
相关资源
相似解决方案