FC 12.7.2 充分利用系统状态空间

本文详细介绍如何在Android5.0及以上版本中实现状态栏与背景图片的无缝融合,通过设置android:fitsSystemWindows属性、调整styles.xml以及修改AndroidManifest.xml,使应用界面更加美观。

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

上一篇文章我们已经写好了,而且效果也不错,不过水果的背景图片和状态栏没有融合在一起,融合在一起效果就更好了。

Android5.0系统之后支持对状态栏和背景进行操作(使背景图和状态栏融合)。

  • 设置android:fitsSystemWindows属性
  • 添加values-21目录,编写styles.xml
  • (为照顾5.0之前的系统,修改values里是styles.xml)
  • 修改AndroidManifest.xml

设置android:fitsSystemWindows属性

我们需要借助android:fitsSystemWindows这个属性来完成。我们需要在ImageView里设置这个属性,以及imageView嵌套的所有父布局(CoordinatorLayout,AppBarLayout,CollapingToobarLayout这种嵌套结构的布局中将这个属性设置为true(表示该控件会出现在系统状态栏里))都要添加这个属性。

修改activity_fruit.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBar"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:fitsSystemWindows="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/fruit_image_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax" />

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin" />
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>

     ...

</android.support.design.widget.CoordinatorLayout>

添加values-21目录,编写styles.xml

设置完android:fitsSystemWindows属性还不能达到效果,还需要将程序中奖状态栏颜色指定为透明才行,只需要设置android:statusBarColor属性为@android:color/transparent就可以了。但这个属性是5.0系统才有的(api21)之前的属性无法指定这个属性,所以我们在res目录里新建values-21目录==>new==>Values resourse file,创建styles.xml文件

定义一个名为FruitActivityTheme的主题,parent是AppTheme,意思是继承了AppTheme所有的特性,然后在android:statusBarColor里将状态栏指定成透明色。【values-21文件 只有5.0及以上的系统高才能会读取】

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="FruitActivityTheme" parent="AppTheme">
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
</resources>

(为照顾5.0之前的系统,修改values里的styles.xml)

5.0系统之前无法识别FruitActivityTheme这个主题,我们在values里的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

修改AndroidManifest.xml,让FruitActivity使用FruitActivityTheme主题(只需要添加一行代码)

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

运行效果如图

 

资源下载链接为: https://pan.quark.cn/s/9648a1f24758 这个HTML文件是一个专门设计的网页,适合在告白或纪念日这样的特殊时刻送给女朋友,给她带来惊喜。它通过HTML技术,将普通文字转化为富有情感和创意的表达方式,让数字媒体也能传递深情。HTML(HyperText Markup Language)是构建网页的基础语言,通过标签描述网页结构和内容,让浏览器正确展示页面。在这个特效网页中,开发者可能使用了HTML5的新特性,比如音频、视频、Canvas画布或WebGL图形,来提升视觉效果和交互体验。 原本这个文件可能是基于ASP.NET技术构建的,其扩展名是“.aspx”。ASP.NET是微软开发的一个服务器端Web应用程序框架,支持多种编程语言(如C#或VB.NET)来编写动态网页。但为了在本地直接运行,不依赖服务器,开发者将其转换为纯静态的HTML格式,只需浏览器即可打开查看。 在使用这个HTML特效页时,建议使用Internet Explorer(IE)浏览器,因为一些老的或特定的网页特效可能只在IE上表现正常,尤其是那些依赖ActiveX控件或IE特有功能的页面。不过,由于IE逐渐被淘汰,现代网页可能不再对其进行优化,因此在其他现代浏览器上运行可能会出现问题。 压缩包内的文件“yangyisen0713-7561403-biaobai(html版本)_1598430618”是经过压缩的HTML文件,可能包含图片、CSS样式表和JavaScript脚本等资源。用户需要先解压,然后在浏览器中打开HTML文件,就能看到预设的告白或纪念日特效。 这个项目展示了HTML作为动态和互动内容载体的强大能力,也提醒我们,尽管技术在进步,但有时复古的方式(如使用IE浏览器)仍能唤起怀旧之情。在准备类似的个性化礼物时,掌握基本的HTML和网页制作技巧非常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值