Заставка с несколькими изображениями на android

В настоящее время используется список слоев для создания заставки с возможностью рисования в центре. Приложение ориентировано на API 23+, поэтому использование растрового изображения не обязательно, если оно не требуется для того, что я пытаюсь сделать. В основном я пытаюсь создать что-то похожее на новый экран-заставку WhatsApp, где ссылка на компанию помещается в нижней части экрана.

SplashScreen

Но по какой-то причине второе изображение вообще не отображается, хотя в предварительном просмотре Android Studio оно отображается в искаженном виде. В настоящее время у меня есть:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@color/black700" />

    <item
        android:drawable="@drawable/ic_app_icon"
        android:gravity="center" />

    <item
        android:drawable="@drawable/ic_company_mark"
        android:gravity="bottom|center" />

</layer-list>

person Brook MG    schedule 05.08.2020    source источник
comment
Заметил, что нижний пункт на некоторых телефонах зависит от разрешения телефона. Возможно, вам нужно добавить что-то вроде <item android:bottom="50dp"> для нижнего элемента.   -  person Bruno Bieri    schedule 05.08.2020
comment
Ты прав. Знаете ли вы, как динамически указать нижнее поле в зависимости от высоты нижней полосы?   -  person Brook MG    schedule 05.08.2020
comment
К сожалению нет. В итоге мы использовали значение, которое хорошо смотрится при большинстве разрешений телефонов. Если вы что-то еще выясните, дайте мне знать;)   -  person Bruno Bieri    schedule 05.08.2020
comment
Однозначно подойдет. Сейчас воспользуюсь этим. Спасибо.   -  person Brook MG    schedule 05.08.2020


Ответы (1)


Как указано в комментариях, я заметил, что нижний пункт зависит от разрешения телефона на некоторых телефонах. Почему это зависит от разрешения, я не знаю.

Чтобы обойти эту проблему, вы можете добавить отступ внизу

<item android:bottom="50dp">

для вашего нижнего элемента в вашем layer-list, и он появится.

Я не нашел способа динамически устанавливать значение в зависимости от чего-либо и поэтому использовал значение, которое хорошо подходит для большинства разрешений экрана.

person Bruno Bieri    schedule 05.08.2020