After you understand how to handle different watch shapes, decide which surface you want to use.
Common app layouts include the following:
- Single screen (simplest): UI elements are limited to what is visible at one time without scrolling.
- Vertical container (most common): content exists beyond the viewable portion of the screen and is accessible by scrolling.
- Other options: lists, paging, or 2D panning.
These layout types are described in the sections that follow. You can use a combination of layout types if you need multiple screens.
Note: For your activity, inherit from either a
ComponentActivity
or, if you use fragments, a FragmentActivity
.
The other activity types use mobile-specific UI elements that you don't need for Wear OS.
Single screen
The user sees all elements in a single screen without scrolling. This means you can include only a small number of elements.
Single screens work well with a
BoxInsetLayout
in combination with a
ConstraintLayout
to arrange your elements.
Vertical container
A vertical container is the most common type of app layout. Some content isn't visible on the screen, but it is accessible by scrolling.
Figure 2 shows several complete app layouts in which only a portion of the content can be seen on the circular screen of a watch. In these examples, the main content is in the top portion of the container, and other Critical User Journeys (CUJs) and settings are at the bottom. This is a best practice for laying out content.
Unlike in a single screen app layout, don't use BoxInsetLayout
. Instead, use
a ConstraintLayout
inside a
NestedScrollView
.
Inside the ConstraintLayout
, place whatever widgets make the most sense for
your app. This lets you take advantage of the extra space on the sides of a circular display.
Make sure the content at the top and bottom of your vertical container is small enough to fit in the top and bottom of a circular display, as in the example in figure 3.
Note:
When possible, add a scroll indicator to your NestedScrollView
by setting
android:scrollbars="vertical"
in the XML. This helps users identify that there is
more content available and helps them see where they are in relation to all the content.
Other options for app layouts
-
Lists: display large sets of data with the
WearableRecyclerView
widget optimized for Wearable surfaces. For more information, see Create lists on Wear OS. - Horizontal paging: for use cases with multiple sibling screens, use a horizontal swipe. If you use horizontal paging, you must support swipe-to-dismiss for the left edge.
- 2D Panning: for use cases like maps, users can drag to pan in different directions. Enable swipe-to-dismiss if your activity takes up the entire screen.