• 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 Studioproject向导被自己主动包括进来。 
    你能够在项目构建文件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

  • 相关阅读:
    android 的通知管理
    java 反射机制
    java基础知识梳理
    spring 知识梳理
    Orange's_1_win7下搭建环境
    编写安全代码:死循环
    我的kindle书单
    [更新Github地址]python学习,自己写了个简单聊天工具mychat
    给VIM和Terminal配色:Solarized
    Hive学习之路 (八)Hive中文乱码
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4718065.html
Copyright © 2020-2023  润新知