Изображение, которое я использовал для заставки с ( гравитация: центр ), не подходит для моего мобильного экрана, даже если я изменил гравитацию, чтобы заполнить.
<item> <bitmap android:gravity="fill" android:src="@drawable/drawable"/> </item>
Используйте FrameLayout в качестве корня. Поместите в него ImageView и установите ScaleType на fitXY и установите AdjustViewBounds на true
fitXY
true
Поэтому измените свой макет, как показано ниже:
<FramLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY" android:adjustViewBounds="true" android:src="@drawable/bg_splash" /> </FrameLayout>
Обычно я использовал единое изображение для всех типов устройств, размер которых 720px * 1280px .Тогда в моем splash_activity.xml я обычно использовал его следующим образом:
splash_activity.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:background="@drawable/bg_splash" android:gravity="center" android:orientation="vertical" />
использовать растровое изображение в XML-файле в качестве фона
android:background="@drawable/bg_splash"