page.title=Creating Custom Layouts page.tags=wear helpoutsWidget=true @jd:body
Creating layouts for wearables is the same as handheld devices, except you have to design for the screen size and for glanceability. Do not port functionality and the UI from a handheld app and expect a good experience. You should create custom layouts only when necessary. Read the design guidelines for information on how to design great wearable apps.
In general, you should create notifications on the handheld and let them automatically sync to the wearable. This lets you build your notifications once and have them appear on many types of devices (not just wearables, but eventually Auto and TV) without having to design them for different form factors.
If the standard notification styles don't work for you (such as {@link android.support.v4.app.NotificationCompat.BigTextStyle} or {@link android.support.v4.app.NotificationCompat.InboxStyle}), you can display an activity with a custom layout. You can only create and issue custom notifications on the wearable, and the system does not sync these notifications to the handheld.
Note: When creating custom notifications on the wearable, you can use the standard notification APIs (API Level 20) instead of the Support Library.
To create a custom notification:
public void onCreate(Bundle bundle){ ... setContentView(R.layout.notification_activity); }
Theme.DeviceDefault.Light
. For example:<activity android:name="com.example.MyDisplayActivity" android:exported="true" android:allowEmbedded="true" android:taskAffinity="" android:theme="@android:style/Theme.DeviceDefault.Light" />
Intent notificationIntent = new Intent(this, NotificationActivity.class); PendingIntent notificationPendingIntent = PendingIntent.getActivity( this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
notify()
method.
Note: When the notification is peeking on the homescreen, the system displays it with a standard template that it generates from the notification's semantic data. This template works well on all watchfaces. When users swipe the notification up, they'll then see the custom activity for the notification.
The Wearable UI Library is automatically included when you create your wearable
app with the Android Studio Project Wizard. You can also add this library to your build.gradle
file with the following dependency declaration:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.google.android.support:wearable:+' compile 'com.google.android.gms:play-services-wearable:+' }
This library helps you build UIs that are designed for wearables. For more information, see Creating Custom UIs for Wear Devices.
Here are some of the major classes in the Wearable UI Library:
BoxInsetLayout
CardFragment
CircledImageView
ConfirmationActivity
CrossFadeDrawable
DelayedConfirmationView
DismissOverlayView
GridViewPager
GridPagerAdapter
instance to generate the pages that the view shows.
GridPagerAdapter
GridViewPager
object.
FragmentGridPagerAdapter
GridPagerAdapter
instance that represents each page as a fragment.
DotsPageIndicator
GridViewPager
implementation that identifies the current page in relation to all available pages on the current
row.
WatchViewStub
WearableListView
The reference documentation explains how to use each UI widget in detail. Browse the Wear API reference documentation for the classes above.
Note: We recommend using Android Studio for Android Wear development, as it provides project setup, library inclusion, and packaging conveniences.