Android适配Splash页面

博客介绍了Android背景图的适配方法。包括直接用图片作android:windowBackground属性值、制作并使用点9图作该属性值,还提及利用layer - list方式适配,最后给出了DEMO源码地址。

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

原始图片

一、适配背景图

1.1 直接使用图片作为android:windowBackground属性值
<resources>
    <!-- 直接在清单文件的application节点下面android: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>
        <item name="android:windowBackground">@drawable/blue_circle</item>
    </style>
</resources>
1.2 制作点9图
1.3 使用点9图片作为android:windowBackground属性值
<resources>
    <!-- 直接在清单文件的application节点下面android: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>
        <item name="android:windowBackground">@drawable/blue_circle1</item>
    </style>
</resources>

二、利用layer-list方式适配

<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>
        <item name="android:windowBackground">@drawable/splashxml</item>
    </style>

</resources>

splashxml.xml源码如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:gravity="fill">
        <shape android:shape="rectangle">
            <solid android:color="#ff0" />
        </shape>
    </item>
    <item>
        <!--
        android:gravity设置bitmap图像的展示方式,居中/填充/水平居中/垂直居中等等
        android:tileMode设置图片的展示方式
        "clamp"表示按照周边进行绘制
        "repeat"重复展示图片
        "mirror"镜像展示图片
        使用这个属性可能导致无效android:gravity
              -->
        <bitmap
            android:gravity="center"
            android:src="@drawable/blue_circle"
            android:tileMode="clamp"/>
    </item>
</layer-list>

不使用 android:tileMode="clamp"的效果图如下所示:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:gravity="fill">
        <shape android:shape="rectangle">
            <solid android:color="#ff0" />
        </shape>
    </item>
    <item>
        <!--
        android:gravity设置bitmap图像的展示方式,居中/填充/水平居中/垂直居中等等
        android:tileMode设置图片的展示方式
        "clamp"表示按照周边进行绘制
        "repeat"重复展示图片
        "mirror"镜像展示图片
        使用这个属性可能导致无效android:gravity
              -->
        <bitmap
            android:gravity="center"
            android:src="@drawable/blue_circle"/>
    </item>
</layer-list>

三、总结

要想改变android:windowBackground的属性值,最佳效果是把小切图与背景图分开,再用layer-list来处理,否则很容易变形。点9图来做适配变形也只能适用于简单的图片。

DEMO源码地址

### 配置 Ubuntu 20.04 的静态 IP 地址 在 Ubuntu 20.04 中,Netplan 是用于管理网络配置的主要工具。以下是关于如何正确配置静态 IP 地址的方法以及解决可能遇到的问题。 #### 使用 Netplan 配置静态 IP 地址 1. 编辑 `/etc/netplan/01-netcfg.yaml` 文件以定义静态 IP 地址配置。文件的内容应类似于以下示例: ```yaml network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: no addresses: - 192.168.12.18/24 gateway4: 192.168.12.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 ``` 上述 YAML 文件指定了 `eth0` 接口的静态 IP 地址为 `192.168.12.18`,子网掩码为 `24`,默认网关为 `192.168.12.1`,并设置了 Google DNS 服务器作为名称解析服务[^4]。 2. 修改完成后,应用新的网络配置: ```bash sudo netplan apply ``` 如果执行过程中出现警告信息 `WARNING: gateway4 has been deprecated, use default routes instead...`,可以通过移除 `gateway4` 并改用 `routes` 来替代。例如: ```yaml network: version: 2 renderer: NetworkManager ethernets: eth0: dhcp4: no addresses: - 192.168.12.18/24 routes: - to: default via: 192.168.12.1 nameservers: addresses: - 8.8.8.8 - 8.8.4.4 ``` 此更改解决了有关 `gateway4` 已被弃用的警告消息[^5]。 #### 如果通过 ifconfig 设置静态 IP 后无法联网 当尝试使用 `ifconfig` 手动设置静态 IP 地址时,可能会导致网络连接中断,并显示错误提示 `DNS_PROBE_FINISHED_BAD_CONFIG` 或者右上角网络图标带有问号标志。这是因为直接修改接口状态而未更新系统的路由表或 DNS 配置所致[^2]。 建议始终优先采用 Netplan 方法来配置静态 IP 地址,因为它是官方推荐的方式,能够确保所有必要的参数都被正确初始化。 #### 自动化双网卡共享上网配置 对于拥有多个网卡的情况,可以按照特定需求调整路由规则以便实现互联网共享功能。然而,默认情况下这些自定义规则不会随系统重启保留下来。为了使它们生效于每次开机之后无需再次手动干预,则需进一步编辑脚本或者利用 systemd service 单元完成自动化处理过程[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值