Build View-based UIs on Wear OS
Stay organized with collections
Save and categorize content based on your preferences.
Try the Compose way
Jetpack Compose on Wear OS is the recommended UI toolkit for Wear OS.
Android Jetpack includes the Wear OS UI Library.
The Wear OS UI library includes the following classes:
For a full list, read the release notes.
Add a dependency on the Wear OS UI Library
To start creating apps, create a Wear-OS-specific project. Then add the following dependencies
to your app's build.gradle
file:
dependencies {
...
// Standard Wear OS libraries
implementation "androidx.wear:wear:1.2.0"
// includes support for wearable specific inputs
implementation "androidx.wear:wear-input:1.1.0"
}
Import classes from the Wear OS UI Library package
To use a class from the Wear OS UI Library, import it from the
androidx.wear.widget
package.
Use the right element names in layout files
In layout files, use fully qualified names that correspond to the Wear OS UI
Library.
For example, to use the
DismissibleFrameLayout
class from the Wear OS UI Library, you could specify
the following in a layout file:
<androidx.wear.widget.DismissibleFrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/swipe_dismiss_root" >
<TextView
android:id="@+id/test_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Swipe the screen to dismiss me." />
</androidx.wear.widget.DismissibleFrameLayout>
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-12-06 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-12-06 UTC."],[],[],null,["# Build View-based UIs on Wear OS\n\nTry the Compose way \nJetpack Compose on Wear OS is the recommended UI toolkit for Wear OS. \n[Try Compose on Wear OS →](/training/wearables/compose) \n\n\n[Android Jetpack](/jetpack/androidx) includes the Wear OS UI Library.\nThe Wear OS UI library includes the following classes:\n\n- [CurvedTextView](/reference/kotlin/androidx/wear/widget/CurvedTextView): a component for easily writing text that follows the curvature of the largest circle that can be inscribed in the view.\n- [DismissibleFrameLayout](/reference/androidx/wear/widget/DismissibleFrameLayout): a layout that lets the user dismiss any view by pressing the back button or swiping on the screen from left to right. Wear OS users expect left-to-right swiping for the back action.\n- [WearableRecyclerView](/reference/androidx/wear/widget/WearableRecyclerView): a view that provides basic offsetting logic for updating child layouts using a [WearableLinearLayoutManager](/reference/androidx/wear/widget/WearableLinearLayoutManager).\n- [AmbientModeSupport](/reference/androidx/wear/ambient/AmbientModeSupport): a class used with the [AmbientModeSupport.AmbientCallbackProvider](/reference/androidx/wear/ambient/AmbientModeSupport.AmbientCallbackProvider) interface to provide support for ambient mode.\n\n\nFor a full list, read the [release notes](/jetpack/androidx/releases/wear).\n\nAdd a dependency on the Wear OS UI Library\n------------------------------------------\n\n\nTo start creating apps, create a Wear-OS-specific project. Then add the following dependencies\nto your app's `build.gradle` file: \n\n```groovy\ndependencies {\n ...\n // Standard Wear OS libraries\n implementation \"androidx.wear:wear:1.2.0\"\n // includes support for wearable specific inputs\n implementation \"androidx.wear:wear-input:1.1.0\"\n}\n```\n\nImport classes from the Wear OS UI Library package\n--------------------------------------------------\n\n\nTo use a class from the Wear OS UI Library, import it from the\n`androidx.wear.widget` package.\n\nUse the right element names in layout files\n-------------------------------------------\n\n\nIn layout files, use fully qualified names that correspond to the Wear OS UI\nLibrary.\n\n\nFor example, to use the\n[DismissibleFrameLayout](/reference/androidx/wear/widget/DismissibleFrameLayout) class from the Wear OS UI Library, you could specify\nthe following in a layout file: \n\n```xml\n\u003candroidx.wear.widget.DismissibleFrameLayout\n xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:tools=\"http://schemas.android.com/tools\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\n android:id=\"@+id/swipe_dismiss_root\" \u003e\n\n \u003cTextView\n android:id=\"@+id/test_content\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\n android:gravity=\"center\"\n android:text=\"Swipe the screen to dismiss me.\" /\u003e\n\u003c/androidx.wear.widget.DismissibleFrameLayout\u003e\n```"]]