Если ваше приложение реализует пользовательский экран-заставку или использует тему запуска, перенесите свое приложение в библиотеку SplashScreen , доступную в Jetpack, чтобы обеспечить его корректное отображение на всех версиях Wear OS.
Ознакомьтесь с пошаговыми инструкциями по реализации на этой странице, чтобы узнать, как добавить заставку с помощью библиотеки SplashScreen так, чтобы экран соответствовал рекомендациям по дизайну .
Добавить зависимости
Добавьте следующую зависимость в файл build.gradle вашего модуля приложения:
Круто
dependencies { implementation "androidx.core:core-splashscreen:1.2.0" }
Котлин
dependencies { implementation("androidx.core:core-splashscreen:1.2.0") }
Убедитесь, что вы используете версию 1.0.1 или выше, чтобы получить поддержку размеров Wear OS по умолчанию.
Добавить тему
Создайте тему экрана-заставки в файле res/values/styles.xml . Родительский элемент зависит от формы значка:
- Если значок круглый, используйте
Theme.SplashScreen. - Если значок имеет другую форму, используйте
Theme.SplashScreen.IconBackground.
Используйте windowSplashScreenBackground для заливки фона одним чёрным цветом. В качестве значений postSplashScreenTheme укажите тему, которую должна использовать Activity, а в качестве значений 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"> <!-- Set a white background behind the splash screen icon. --> <item name="windowSplashScreenIconBackgroundColor">@android:color/white</item> </style>
Остальные атрибуты являются необязательными.
Создайте рисунок по теме
Темы экрана-заставки требуют передачи объекта drawable в атрибут windowSplashScreenAnimatedIcon . Например, вы можете создать его, добавив новый файл res/drawable/splash_screen.xml и используя значок запуска приложения и правильный размер значка экрана-заставки:
<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 и различается в зависимости от того, круглый ли значок:
<resources> <!-- Round app icon can take all of default space --> <dimen name="splash_screen_icon_size">48dp</dimen> </resources>
...или некруглые и поэтому должны использовать фон значка:
<resources> <!-- Non-round icon with background must use reduced size to fit circle --> <dimen name="splash_screen_icon_size">36dp</dimen> </resources>
Укажите тему
В файле манифеста вашего приложения ( AndroidManifest.xml ) замените тему начальной активности (обычно ту, которая определяет элемент запуска или экспортируется иным образом) на тему, созданную на предыдущем шаге:
<activity android:name=".snippets.SplashScreenActivity" android:exported="true" android:taskAffinity="" android:theme="@style/Theme.App.Starting"> <!-- ... --> </activity>
Обновите свою начальную активность
Установите заставку в стартовой активности перед вызовом super.onCreate() :
class SplashScreenActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen() super.onCreate(savedInstanceState) setContent { WearApp() } } }
Дополнительные ресурсы
Узнайте больше о заставках в целом и о том, как их можно использовать в вашем приложении.
{% дословно %}Рекомендовано для вас
- Примечание: текст ссылки отображается, когда JavaScript отключен.
- Перенесите реализацию заставки на Android 12 и более поздние версии
- Заставки
- Интеграция действий приложения с виджетами Android