Как изменить цвет фона в пользовательской заставке?

#java #android #xml #xamarin.android #splash-screen

#java #Android #xml #xamarin.android #заставка

Вопрос:

Чтобы удалить белую заставку по умолчанию, я создал пользовательскую тему:

styles.xml

  <style name="AppTheme.SplashTheme">
        <item name="android:windowBackground">@drawable/splash_screen</item>
  </style>
  

splash_screen.xml

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">

<!--<item android:drawable="?colorPrimary" />-->
<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/wq_logo" />
</item>
</layer-list>
  

Все работает нормально, но я хочу изменить цвет фона. В настоящее время отображается фон фиолетового цвета. Я хочу сделать его белым.
В этом приложении я использую макет навигационного ящика.

Комментарии:

1. Вам не нужно применять отдельную тему для действия заставки, не так ли? Достаточно просто изменить цвет фона XML-файла действия.

2. @vidulaJ по умолчанию Android показывает белый экран при загрузке приложения. я хотел удалить его и показать логотип посередине. это самый простой метод, который я нашел. и он работает нормально.

3. Да, понял твою точку зрения. Приятно знать, что это работает!

Ответ №1:

Измените splash_screen.xml вот так

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"
         android:opacity="opaque">

<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"      
       android:shape="rectangle">
      <solid android:color="@color/grey" />
    </shape>
</item>
<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/wq_logo" />
</item>
  

Вы можете добавить еще item один к layer-list . Вам нужно только изменить цвет фона на предпочитаемый.

Комментарии:

1. Ох. Большое вам спасибо. это работает. мне нужно многому научиться в использовании XML 🙂

2. @Cade рад вам помочь. вы можете принять ответ, если он вам поможет. Так что в будущем это поможет другим людям.

3. @Ironman Я думаю, что вы добавили красный цвет, а не серый, поэтому исправьте его.

Ответ №2:

Со своей стороны, это решение не решило проблему. Чтобы исправить это, я объявляю фоновое изображение заставки следующим образом: (не используйте bitmap)

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

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