有很多方法可以为全屏创建背景。我推荐的3个解决方案如下:
一个图像作为背景解决方案是最常用于此工作的解决方案,您必须为每个主要屏幕尺寸制作一个 = ldpi、mdpi、hdpi 和 xhdpi 并制作它:
- 以与居中图像融合的纯色背景颜色在布局中居中,或
- 使它成为一个 9-patch 图像,以适当的方式拉伸。
- 第三种解决方案是创建一个平铺布局,您可以在其中使用一个图像,然后以平铺方式将其复制到整个屏幕上。
- 在某些情况下可能会起作用的是拥有 1 张图像,然后根据屏幕尺寸将其剪掉。这可能有效,但如果图像太大,它会在小型/旧手机上出现内存不足异常,因此再次为 ldpi、mdpi、hdpi 和 xhdpi 提供 1 个图像。
(1) 的示例:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@android:color/black">
<FrameLayout
android:background="@drawable/splash"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
>
</FrameLayout>
</RelativeLayout>
初始图像可以有任何大小,重要的是图像的外部部分与背景颜色混合,这可以通过让图像的背景颜色慢慢混合为与背景相同的颜色来完成。
(4) 的示例:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@android:color/black">
<ImageView
android:background="@drawable/splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
>
</ImageView>
</RelativeLayout>