当前位置: 代码迷 >> 综合 >> Android styles.xml文件属性笔记
  详细解决方案

Android styles.xml文件属性笔记

热度:4   发布时间:2023-10-18 11:03:48.0

关于启动背景和透明状态栏

<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="IntroTheme" parent="AppTheme">
        <item name="android:background">@drawable/intro_background</item><!--设置背景图片-->
        <!--<item name="android:windowFullscreen">true</item>--><!--设置屏幕全屏,最顶部的状态栏会消失-->
        <!--<item name="android:windowTranslucentStatus">true</item>--><!--设置半透明状态栏-->
        <!--<item name="android:windowTranslucentNavigation">true</item>--><!--设置半透明虚拟键盘-->
       <!--<item name="android:statusBarColor">@android:color/transparent</item>--><!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
    </style>

</resources>

设置背景

<item name="android:background">@drawable/intro_background</item><!--设置背景图片-->

效果:

Android styles.xml文件属性笔记

当app启动时会最先显示主activity的背景然后才是布局(在没有设置背景的情况下启动会有很短时间的白屏)

半透明状态栏

<item name="android:windowTranslucentStatus">true</item><!--设置半透明状态栏-->

效果:

Android styles.xml文件属性笔记

顶部的状态栏已经变为半透明,而且不会占用空间了,控件可能会与状态栏重合,解决方法:

在styles文件中

<item name="android:windowTranslucentStatus">true</item><!--设置半透明状态栏-->
<item name="android:fitsSystemWindows">true</item>

或者在布局文件中加入

android:fitsSystemWindows="true"

移除状态栏

<item name="android:windowFullscreen">true</item><!--设置屏幕全屏,最顶部的状态栏会消失-->

效果:

Android styles.xml文件属性笔记

可以看到顶部状态栏已经不见了,而且也不会占用着原来的位置,所有布局将会上移,如果需要保留原来空间处理方法同上

半透明虚拟按键

<item name="android:windowTranslucentNavigation">true</item><!--设置半透明虚拟按键-->

效果:

Android styles.xml文件属性笔记

底部虚键盘已经变为半透明

导航栏完全透明

<!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
<item name="android:statusBarColor" tools:targetApi="lollipop">@android:color/transparent</item>

效果:

Android styles.xml文件属性笔记

需要注意的是这种方法导航栏仍然会占用原来的位置


  相关解决方案