编写: kesenhoo - 原文: http://developer.android.com/training/wearables/apps/layouts.html
为可穿戴设备创建布局是和手持设备是一样的,除了我们需要为屏幕的尺寸和glanceability进行设计。但是不要期望通过搬迁手持应用的功能与UI到可穿戴上会有一个好的用户体验。仅仅在有需要的时候,我们才应该创建自定义的布局。请参考可穿戴设备的design guidelines学习如何设计一个优秀的可穿戴应用。
通常来说,我们应该在手持应用上创建好notification,然后让它自动同步到可穿戴设备上。这让我们只需要创建一次notification,然后可以在不同类型的设备(不仅仅是可穿戴设备,也包含车载设备与电视)上进行显示,免去为不同设备进行重新设计。
如果标准的notification风格无法满足我们的需求(例如NotificationCompat.BigTextStyle 或者 NotificationCompat.InboxStyle),我们可以显示一个使用自定义布局的activity。我们只可以在可穿戴设备上创建并处理自定义的notification,同时系统不会将这些notification同步到手持设备上。
Note: 当在可穿戴设备上创建自定义的notification时,我们可以使用标准notification API(API Level 20),不需要使用Support Library。
为了创建自定义的notification,步骤如下:
public void onCreate(Bundle bundle){
...
setContentView(R.layout.notification_activity);
}
Theme.DeviceDefault.Light
。例如:<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);
Note: 当notification呈现在主页时,系统会根据notification的语义,使用一个标准的模板来呈现它。这个模板可以在所有的表盘上进行显示。当用户往上滑动notification时,将会看到为这个notification准备的自定义的activity。
当我们使用Android Studio的工程向导创建一个Wearable应用的时候,会自动包含Wearable UI库。你也可以通过给build.gradle
文件添加下面的依赖声明把库文件添加到项目:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:+'
compile 'com.google.android.gms:play-services-wearable:+'
}
这个库文件帮助我们建立为可穿戴设备设计的UI。更详细的介绍请看为可穿戴设备创建自定义UI。
下面是一些Wearable UI库中主要的类:
这个参考文献解释了如何详细地使用每个UI组件。查看Wear API reference documentation了解上述类的用法。
如果你正在使用Eclipse ADT,那么下载Wearable UI library将Wearable UI库导入到你的工程当中。
Note: 我们推荐使用Android Studio来开发可穿戴应用。