#android #android-layout
#Android #android-макет
Вопрос:
Я хочу создать заставку, которая будет выглядеть так на всех экранах: Я хочу два изображения в двух углах. Это должно быть внутри drawable, потому что это фоновый drawable заставки.
Я мог бы сделать это на устройствах Android с API > = 23, используя следующий код:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
</item>
<item android:drawable="@mipmap/ic_launcher_round"
android:gravity="left|bottom"
android:height="100dp"
android:width="100dp"
android:bottom="30dp"/>
<item android:drawable="@mipmap/ic_launcher_round"
android:gravity="bottom|right"
android:height="80dp"
android:width="80dp"
android:bottom="43dp"/>
</layer-list>
Но на других устройствах drawable выглядит следующим образом:
Комментарии:
1. Можете ли вы попытаться поместить это
<item>...<bitmap android:src="@mipmap/ic_launcher_round"/> </item>
2. как мне изменить размер? Это дало тот же результат
3. Какой уровень API использует второе устройство?
Ответ №1:
Измените свой layer-list
на этот :
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/white"/>
</shape>
</item>
<item
android:height="100dp"
android:width="100dp"
android:bottom="30dp">
<bitmap
android:gravity="left|bottom"
android:src="@mipmap/ic_launcher_round" />
</item>
<item
android:height="80dp"
android:width="80dp"
android:bottom="43dp">
<bitmap
android:gravity="bottom|right"
android:src="@mipmap/ic_launcher_round" />
</item>
</layer-list>
Также убедитесь, что, если вы собираетесь использовать разные изображения, вы разместили их в разных папках :
hdpi ldpi mdpi xhdpi xxhdpi