Добавить заставку

Если ваше приложение реализует настраиваемый экран-заставку или использует тему запуска, перенесите свое приложение в библиотеку SplashScreen , доступную в Jetpack, чтобы обеспечить его правильное отображение во всех версиях Wear OS.

См. пошаговые инструкции по реализации на этой странице, чтобы узнать, как добавить заставку с помощью библиотеки SplashScreen , чтобы экран соответствовал рекомендациям по проектированию .

Добавить зависимости

Добавьте следующую зависимость в файл build.gradle вашего модуля приложения:

dependencies {
    implementation "androidx.core:core-splashscreen:1.2.0-alpha02"
}
dependencies {
    implementation("androidx.core:core-splashscreen:1.2.0-alpha02")
}

Убедитесь, что вы используете версию 1.0.1 или выше, чтобы получить поддержку размеров Wear OS по умолчанию.

Добавить тему

Создайте тему заставки в файле res/values/styles.xml . Родительский элемент зависит от формы значка:

  • Если значок круглый, используйте Theme.SplashScreen .
  • Если значок имеет другую форму, используйте Theme.SplashScreen.IconBackground .

Используйте windowSplashScreenBackground чтобы заполнить фон одним черным цветом. Установите значения postSplashScreenTheme для темы, которую должно использовать действие, а windowSplashScreenAnimatedIcon для рисуемого или анимированного объекта:

<resources>
   
<style name="Theme.App" parent="@android:style/Theme.DeviceDefault" />

   
<style name="Theme.App.Starting" parent="Theme.SplashScreen">
       
<!-- Set the splash screen background to black -->
       
<item name="windowSplashScreenBackground">@android:color/black</item>
       
<!-- Use windowSplashScreenAnimatedIcon to add a drawable or an animated
             drawable
. -->
       
<item name="windowSplashScreenAnimatedIcon">@drawable/splash_screen</item>
       
<!-- Set the theme of the Activity that follows your splash screen. -->
       
<item name="postSplashScreenTheme">@style/Theme.App</item>
   
</style>
</resources>

Если вы используете некруглый значок, вам необходимо установить под ним белый цвет фона. В этом случае используйте Theme.SplashScreen.IconBackground в качестве родительской темы и установите атрибут windowSplashScreenIconBackgroundColor :

<style name="Theme.App.Starting" parent="Theme.SplashScreen.IconBackground">
   
...
   
<!-- Set a white background behind the splash screen icon. -->
   
<item name="windowSplashScreenIconBackgroundColor">@android:color/white</item>
</style>

Остальные атрибуты являются необязательными.

Создайте рисунок для темы

Темы экрана-заставки требуют, чтобы объект рисования был передан в атрибут windowSplashScreenAnimatedIcon . Например, вы можете создать его, добавив новый файл res/drawable/splash_screen.xml и используя значок запуска приложения и правильный размер значка заставки:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   
<item
       
android:width="@dimen/splash_screen_icon_size"
       
android:height="@dimen/splash_screen_icon_size"
       
android:drawable="@mipmap/ic_launcher"
       
android:gravity="center" />
</layer-list>

Размер значка заставки определяется в res/values/dimens.xml и различается в зависимости от того, круглый ли значок:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   
<!-- Round app icon can take all of default space -->
   
<dimen name="splash_screen_icon_size">48dp</dimen>
</resources>

...или некруглой формы и поэтому должен использовать фон значка:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   
<!-- Non-round icon with background must use reduced size to fit circle -->
   
<dimen name="splash_screen_icon_size">36dp</dimen>
</resources>

Укажите тему

В файле манифеста вашего приложения ( AndroidManifest.xml ) замените тему стартового действия (обычно те, которые определяют элемент запуска или экспортируются иным образом) на тему, созданную на предыдущем шаге:

<manifest>
   
<application android:theme="@style/Theme.App.Starting">
       
<!-- or -->
       
<activity android:theme="@style/Theme.App.Starting">
         
<!-- ... -->
</manifest>

Обновите свою стартовую активность

Установите заставку в стартовом действии перед вызовом super.onCreate() :

class MainActivity : ComponentActivity() {
   
override fun onCreate(savedInstanceState: Bundle?) {
       
// Handle the splash screen transition.
        installSplashScreen
()

       
super.onCreate(savedInstanceState)
        setContent
{
           
WearApp("Wear OS app")
       
}
   
}
}

Дополнительные ресурсы

Узнайте больше о заставках в целом и о том, как их можно использовать в своем приложении.

{% дословно %}

Пока рекомендаций нет.

Попытайтесь в свой аккаунт Google.

{% дословно %}