Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Compose для Wear OS похож на Compose для мобильных устройств. Однако есть несколько ключевых отличий. Это руководство подробно описывает сходства и различия.
Compose для Wear OS является частью Android Jetpack и, как и другие используемые вами библиотеки Wear Jetpack, помогает вам писать более качественный код быстрее. Мы рекомендуем именно этот подход к разработке пользовательских интерфейсов для приложений Wear OS .
Если вы не знакомы с инструментами Jetpack Compose, ознакомьтесь с программой Compose Pathway . Многие принципы разработки мобильных приложений Compose применимы и к Compose для Wear OS. Подробнее об общих преимуществах декларативного UI-фреймворка см. в статье «Зачем Compose?» . Чтобы узнать больше о Compose для Wear OS, ознакомьтесь с программой Compose для Wear OS Pathway и репозиторием примеров Wear OS на GitHub.
Material Design в Jetpack Compose на Wear OS
Jetpack Compose на Wear OS предлагает реализациюМатериал 3 , который поможет вам разработать более интересное приложениеФункциональность. Компоненты Material Design в Wear OS созданы на основе Wear Material Theming . Эта тематика — систематизированный способ персонализации Material Design и лучшего отражения бренда вашего продукта.
Совместимость
Compose для Wear OS работает на часах с поддержкой Wear OS 3.0 (API уровня 30) и Wear OS 2.0 (API уровня 25 и выше). Для использования Compose для Wear OS версии 1.5 требуются библиотеки androidx.compose версии 1.8 и Kotlin 1.9.0. Для проверки совместимости Compose можно использовать сопоставление BOM и карту совместимости Compose с Kotlin .
Поверхности
Compose for Wear OS упрощает разработку приложений для Wear OS. Подробнее см. в разделе «Приложения» . Используйте наши встроенные компоненты для создания пользовательского интерфейса, соответствующего рекомендациям Wear OS. Подробнее о компонентах см. в нашем руководстве по проектированию .
Настройка
Использование Jetpack Compose с Wear OS аналогично использованию Jetpack Compose для любого другого проекта Android. Главное отличие заключается в том, что Jetpack Compose для Wear добавляет библиотеки, специфичные для Wear, которые упрощают создание пользовательских интерфейсов, адаптированных для часов. В некоторых случаях эти компоненты имеют те же имена, что и их аналоги, не относящиеся к Wear, напримерandroidx.wear.compose.material3.Button и androidx.compose.material3.Button .
Создайте новое приложение в Android Studio
Чтобы создать новый проект, включающий Jetpack Compose, выполните следующие действия:
Если вы открыли окно «Добро пожаловать в Android Studio» , нажмите « Начать новый проект Android Studio» . Если у вас уже открыт проект Android Studio, выберите в меню «Файл» > «Создать» > «Импортировать образец» .
Найдите Compose for Wear и выберите Compose for Wear OS Starter.
В окне «Настройка проекта» выполните следующие действия:
Задайте имя приложения .
Выберите местоположение проекта для вашего образца.
Теперь вы готовы приступить к разработке приложения с использованием Compose для Wear OS.
Зависимости набора инструментов Jetpack Compose
Чтобы использовать Jetpack Compose с Wear OS, необходимо включить зависимости набора инструментов Jetpack Compose в файл build.gradle вашего приложения. Большинство изменений зависимостей, связанных с Wear OS, находятся на верхних архитектурных уровнях и обведены красным на следующем изображении.
Это означает, что многие зависимости, которые вы уже используете с Jetpack Compose, не изменятся при переходе на Wear OS. Например, зависимости пользовательского интерфейса, среды выполнения, компилятора и анимации останутся прежними.
Однако Wear OS имеет собственные версии библиотек material и material3 , foundation и navigation , поэтому убедитесь, что вы используете правильные библиотеки.
По возможности используйте API версии WearComposeMaterial . Хотя технически возможно использование мобильной версии Compose Material, она не оптимизирована под уникальные требования Wear OS. Кроме того, смешивание Compose Material с Compose Material для Wear OS может привести к непредсказуемому поведению. Например, поскольку каждая библиотека имеет собственный класс MaterialTheme , существует вероятность несоответствия цветов, типографики или форм при использовании обеих версий.
В следующей таблице показаны различия в зависимостях между Wear OS и Mobile:
В следующем фрагменте показан пример файла build.gradle , который включает эти зависимости:
Котлин
dependencies{valcomposeBom=platform("androidx.compose:compose-bom:2025.08.00")// General compose dependenciesimplementation(composeBom)implementation("androidx.activity:activity-compose:1.10.1")implementation("androidx.compose.ui:ui-tooling-preview:1.9.0")// Other compose dependencies// Compose for Wear OS dependenciesimplementation("androidx.wear.compose:compose-material3:")// Foundation is additive, so you can use the mobile version in your Wear OS app.implementation("androidx.wear.compose:compose-foundation:")// Wear OS preview annotationsimplementation("androidx.wear.compose:compose-ui-tooling:")// If you are using Compose Navigation, use the Wear OS version (NOT THE MOBILE VERSION).// Uncomment the line below and update the version number.// implementation("androidx.wear.compose:compose-navigation:")// TestingtestImplementation("junit:junit:4.13.2")androidTestImplementation("androidx.test.ext:junit:1.1.3")androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.0.3")debugImplementation("androidx.compose.ui:ui-tooling:1.4.1")}
Обратная связь
Попробуйте Compose для Wear OS и используйте систему отслеживания ошибок , чтобы отправлять предложения и отзывы.
Присоединяйтесь к каналу #compose-wear на Kotlin Slack, чтобы связаться с сообществом разработчиков и поделиться с нами своим опытом.
{% дословно %} {% endverbatim %}
Рекомендовано для вас
Примечание: текст ссылки отображается, когда JavaScript отключен.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-27 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-27 UTC."],[],[],null,["Compose for Wear OS Material version 2.5 3\n\n*** ** * ** ***\n\n[Compose for Wear OS](/jetpack/androidx/releases/wear-compose) is similar to\nCompose for mobile. However, there are some key differences. This guide\nwalks you through the similarities and differences.\n\nCompose for Wear OS is part of Android Jetpack, and like the other Wear Jetpack\nlibraries you use, it helps you write better code faster. This is our\nrecommended approach for building user interfaces for [Wear OS apps](/training/wearables/user-interfaces#apps).\n\nIf you are unfamiliar with using the Jetpack Compose toolkit, check out the\n[Compose pathway](/courses/pathways/compose). Many of the development principles for mobile Compose\napply to Compose for Wear OS. See [Why Compose](/jetpack/compose/why-adopt) for more information on the\ngeneral advantages of a declarative UI framework. To learn more about Compose\nfor Wear OS, see the [Compose for Wear OS Pathway](/courses/pathways/wear-compose) and the [Wear OS samples\nrepository](https://github.com/android/wear-os-samples/tree/main/ComposeStarter#readme) on GitHub.\n\nMaterial Design in Jetpack Compose on Wear OS\n\nJetpack Compose on Wear OS offers an implementation of\n\n[Material 3](/design/ui/wear/guides/get-started), which helps you design more engaging app\n\nexperiences. The\n[Material Design components](/design/ui/wear/guides/components/buttons) on\nWear OS are built on top of\n[Wear Material Theming](/design/ui/wear/guides/styles/theme). This theming\nis a systematic way to customize Material Design and better reflect your\nproduct's brand.\n\nCompatibility Compose for Wear OS works on watches that support Wear OS 3.0 (API Level 30) and watches that use Wear OS 2.0 (API level 25 and above). Using [version 1.5](/jetpack/androidx/releases/wear-compose) of Compose for Wear OS requires using version 1.8 of [androidx.compose](/jetpack/androidx/releases/compose) libraries and Kotlin 1.9.0. You can use the [BOM mapping](/develop/ui/compose/bom/bom-mapping) and [Compose to Kotlin compatibility map](/jetpack/androidx/releases/compose-kotlin) to check Compose compatibility.\n\nSurfaces\n\nCompose for Wear OS makes building apps on Wear OS easier. For more information\nsee [Apps](/training/wearables/apps#building-an-app). Use our built-in\ncomponents to create user experiences that conform to Wear OS guidelines.\nFor more information about components, see our\n[design guidance](/design/ui/wear/guides/components/buttons).\n\nSetting up\n\nUsing Jetpack Compose with Wear OS is similar to using Jetpack Compose for\nany other Android project. The main difference is that Jetpack Compose for Wear\nadds Wear-specific libraries that make it easier to create user interfaces\ntailored to watches.\nIn some cases those components share the same name as\ntheir non-wear counterparts, such as\n\n[`androidx.wear.compose.material3.Button`](/reference/kotlin/androidx/wear/compose/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Function0,kotlin.String,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.wear.compose.material3.ButtonColors,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,androidx.wear.compose.material3.SurfaceTransformation,kotlin.Function1)) and\n[`androidx.compose.material3.Button`](/reference/kotlin/androidx/compose/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)).\n\n\nCreate a new app in Android Studio\n\nTo create a new project that includes Jetpack Compose, proceed as follows:\n\n1. If you're in the **Welcome to Android Studio** window, click **Start a new\n Android Studio project** . If you already have an Android Studio project open, select **File \\\u003e New \\\u003e Import Sample** from the menu bar.\n2. Search for **Compose for Wear** and select **Compose for Wear OS Starter.**\n3. In the **Configure your project** window, do the following:\n 1. Set the **Application name**.\n 2. Choose the **Project location** for your sample.\n4. Click **Finish**.\n5. Verify that the project's `build.gradle` file is configured correctly, as described in [Gradle properties files](/studio/build#properties-files).\n\nNow you're ready to start developing an app using Compose for Wear OS.\n\nJetpack Compose toolkit dependencies\n\nTo use Jetpack Compose with Wear OS, you'll need to include Jetpack Compose\ntoolkit dependencies in your app's `build.gradle` file. Most of the dependency\nchanges related to Wear OS are in the\n[top architectural layers](/jetpack/compose/layering), surrounded by a red box\nin the following image.\n\nThat means many of the dependencies you already use with Jetpack Compose don't\nchange when targeting Wear OS. For example, the UI, runtime, compiler, and\nanimation dependencies remain the same.\n\nHowever, Wear OS has its own versions of `material` and `material3`, `foundation`, and\n`navigation` libraries, so check that you're using the proper libraries.\n\nUse the\n[`WearComposeMaterial`](/reference/kotlin/androidx/wear/compose/material/package-summary)\nversion of APIs where possible. While it's technically possible to use the\nmobile version of Compose Material, it is not optimized for the unique\nrequirements of Wear OS. In addition, mixing Compose Material with Compose\nMaterial for Wear OS can result in unexpected behavior. For example, because\neach library has its own `MaterialTheme` class, there's the possibility of\ncolors, typography, or shapes being inconsistent if both versions are used.\n\nThe following table outlines the dependency differences between Wear OS and\nMobile:\n\n|----------------------------------------------------------------------------------------------------------------|----------------------|----------------------------------------|\n| **Wear OS Dependency** (androidx.wear.\\*) | **Comparison** | **Mobile Dependency** (androidx.\\*) |\n| [androidx.wear.compose:compose-material3](/reference/kotlin/androidx/wear/compose/material/package-summary) | ***instead of*** | androidx.compose.material:material3 |\n| [androidx.wear.compose:compose-navigation](/reference/kotlin/androidx/wear/compose/navigation/package-summary) | ***instead of*** | androidx.navigation:navigation-compose |\n| [androidx.wear.compose:compose-foundation](/reference/kotlin/androidx/wear/compose/foundation/package-summary) | ***in addition to*** | androidx.compose.foundation:foundation |\n\n| **Note:** Other non-mobile material dependencies can be used, such as material ripple and material icons extended.\n\nThe following snippet shows an example `build.gradle` file that includes these\ndependencies: \n\nKotlin \n\n```kotlin\ndependencies {\n\n val composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n\n // General compose dependencies\n implementation(composeBom)\n implementation(\"androidx.activity:activity-compose:1.10.1\")\n implementation(\"androidx.compose.ui:ui-tooling-preview:1.9.0\")\n // Other compose dependencies\n\n // Compose for Wear OS dependencies\n implementation(\"androidx.wear.compose:compose-material3:\")\n\n // Foundation is additive, so you can use the mobile version in your Wear OS app.\n implementation(\"androidx.wear.compose:compose-foundation:\")\n\n // Wear OS preview annotations\n implementation(\"androidx.wear.compose:compose-ui-tooling:\")\n\n // If you are using Compose Navigation, use the Wear OS version (NOT THE MOBILE VERSION).\n // Uncomment the line below and update the version number.\n // implementation(\"androidx.wear.compose:compose-navigation:\")\n\n // Testing\n testImplementation(\"junit:junit:4.13.2\")\n androidTestImplementation(\"androidx.test.ext:junit:1.1.3\")\n androidTestImplementation(\"androidx.test.espresso:espresso-core:3.4.0\")\n androidTestImplementation(\"androidx.compose.ui:ui-test-junit4:1.0.3\")\n debugImplementation(\"androidx.compose.ui:ui-tooling:1.4.1\")\n \n}\n```\n\nFeedback\n\nTry out Compose for Wear OS and use the\n[issue tracker](https://issuetracker.google.com/issues/new?component=1077552&template=1598429&pli=1) to provide suggestion and feedback.\n\nJoin the\n[#compose-wear channel](https://surveys.jetbrains.com/s3/kotlin-slack-sign-up)\non Kotlin Slack to connect with developer community and let us know your\nexperience.\n\nRecommended for you\n\n- Note: link text is displayed when JavaScript is off\n- [Resources in Compose](/develop/ui/compose/resources)\n- [Material Design 3 in Compose](/develop/ui/compose/designsystems/material3)\n- [Get Started with Jetpack Compose](/develop/ui/compose/documentation)"]]