当前位置: 代码迷 >> Android >> Android:创造可穿戴应用 - 自定义布局
  详细解决方案

Android:创造可穿戴应用 - 自定义布局

热度:64   发布时间:2016-04-28 04:51:12.0
Android:创建可穿戴应用 - 自定义布局

创建自定义布局(Creating Custom Layouts)

本文将介绍如何创建自定义通知以及使用可穿戴UI库来创建自定义布局
你同时还需要了解可穿戴设计准则(Wear Design Principles)
除了屏幕尺寸和瞬读能力(Glance ability)外,为可穿戴应用创建布局大体和普通手机一样。
创建自定义通知(Custom Notifications)
通常,你应该在手机应用上创建通知然后自动同步到可穿戴应用。这让你只需要构建通知一次,
就可以呈现于多种设备(不只是可穿戴,最终还包括汽车和电视),而不用为不同的设备参数分别进行设计。

如果标准通知风格对你不适用(比如NotificationCompat.BigTextStyle或者NotificationCompat.InboxStyle),
你可以使用一个自定义布局的活动来显示通知。你只能在可穿戴设备上创建和发送自定义通知,系统并不会把这些通知和手机进行同步。

注意: 当在可穿戴设备上创建自定义通知时,你可以使用标准通知APIs(API Level 20),而不是支持库(Support Library)。
1. 创建一个布局并设置为前台活动的内容视图(Content View)
public void onCreate(Bundle bundle){    ...    setContentView(R.layout.notification_activity);}
2. 在Android manifest文件中定义活动(Activity)的必要属性,以便活动能在可穿戴应用上下文流过程中被呈现。
你需要声明这个活动为可输出(exportable),可嵌入(embeddable),以及任务共用性(task affinity)为空。 
我们还建议设置方案(theme)为Theme.DeviceDefault.Light. 如:
<activity android:name="com.example.MyDisplayActivity"     android:exported="true"     android:allowEmbedded="true"     android:taskAffinity=""     android:theme="@android:style/Theme.DeviceDefault.Light" />
3. 为这个活动创建一个PendingIntent
Intent notificationIntent = new Intent(this, NotificationActivity.class);PendingIntent notificationPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent,PendingIntent.FLAG_UPDATE_CURRENT);

4. 构建一个通知(Notification)并调用setDisplayIntent()方法来提供这个PendingIntent。当用户阅读通知时,

系统会使用这个PendingIntent来启动相应的活动。

5. 使用notify()方法来发送通知。

注意: 当通知出现在主屏幕上时,系统使用产生于通知语意数据的标准模板来显示它。这个模板在所有的手表界面上表现良好。

当用户把通知向上滑动时,将看到该通知的自定义活动界面。

使用可穿戴UI库(Wearable UI Library)来创建布局
当你创建可穿戴应用时,有一个非官方的UI库会通过Android Studio工程向导被自动包含进来。 
你可以在项目构建文件build.gradle中添加如下语句:
dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    compile 'com.google.android.support:wearable:+'    compile 'com.google.android.gms:play-services-wearable:+'}
这个库可以用来方便的构建可穿戴应用界面。下面是一些主要的类:
  • BoxInsetLayout - 一个可以感知屏幕形状并使其子元素具中显示的FrameLayout;
  • CardFragment - 一个可扩展,可竖向滚动的卡片状界面组件;
  • CircledImageView - 圆形图片视图;
  • ConfirmationActivity - 用户操作完成时,确认信息动画活动界面。
  • DismissOverlayView - 一个长按消失式(long-press-to-dismiss)视图;
  • GridViewPager - 一个数据分页(可横向、竖向)显示布局管理器,你实现一个GridPagerAdapter来生成分页数据传给这个视图来显示;
  • GridPagerAdapter - 如上所述,这是一个分页数据生成器;
  • FragmentGridPagerAdapter - GridPagerAdapter的一个派生实现,用来把每页当作一个片段;
  • WatchViewStub - 一个可以填充具体布局的类,随设备屏幕形状而定;
  • WearableListView - ListView的一个替代版本,被优化用于小屏幕可穿戴设备。它显示一个垂直滚动列表项,在用户停止滚动时,自动捕捉最近的列表项。

请下载可穿戴应用编程支持库完整API参考文档,里面有每个界面组件的完整使用说明。


by iefreer

1楼u013812939昨天 21:45
好啊,学习了
  相关解决方案