У меня есть этот экран-заставка:
Проблема в том, что у него есть дополнительное время для запуска приложения, а это то, чего я на самом деле не хочу.Я обнаружил, что есть способ изменить белый экран-заставку по умолчанию, который отображается при запуске любого приложения с использованием android:windowBackground
.На данный момент я делаю это с layer-list
, но я сталкиваюсь с довольно большими проблемами при конвертации LinearLayout
в layer-list
.Любая идея, как сделать этот код?
Текущий код заставки:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/gradient_background"
android:orientation="vertical"
android:weightSum="100"
tools:context="com.example.kristiqngergov.healthapp.SplashActivity">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="23">
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="34"
android:gravity="center|bottom">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/splash_logo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.286" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="43"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginBottom="10dp"
android:fontFamily="sans-serif-black"
android:lineSpacingExtra="9sp"
android:textColor="#fff"
android:textSize="53sp"
android:textStyle="normal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:layout_editor_absoluteY="448dp"
tools:text="Dr.Oh" />
<TextView
android:id="@+id/wait"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:fontFamily="sans-serif"
android:textStyle="normal"
android:textColor="#fff"
android:layout_centerVertical="true"
tools:text="Моля изчакайте..." />
</LinearLayout>
Код заставки, который я хочу:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/gradient_background" />
<item>
<bitmap android:src="@drawable/splash_logo" />
</item>
</layer-list>
Проблема со списком слоев заключается в том, что я не могу точно установить вес каждого элемента, что является большой проблемой, поскольку изображение слишком велико и занимает весь экран.
Заставка со списком слоев: