Android Wear 进阶 2.2 Create Custom Layout 创建自定义的布局

Linux虚拟机系统安装步骤 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前文碎碎念一、Linux介质下载二、安装步骤(一)安装Linux之前的准备工作1.先在Windows端安装VMware ,此处省略。。。。。2.打开VMware,点击“创建新的虚拟机”,截图如下:3.这里我们选择“典型”,并点击下一步,截图如下:4.这里选择“稍后安装操作系统”,并点击下一步,截图如下:5.操作系统介质选择“Linux”,并点击下一步,截图如下:6.修改虚拟机的名称和存放位置,也可以默认,修改完成后点击下一步,截图. 阅读详情

Creating Custom Layouts

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.

创建手表的布局和手机设备一样,除了你需要设计屏幕的尺寸和平衡。不要直接将手机的应用的功能和UI 直接用在手表上面,这样不会有一个好的体验的。你应该只有在需要的时候才创建自定义的布局。阅读设计的向导去得到更多的关于如何设计好的手表应用。

Create Custom Notifications 创建自定义的通知。



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 NotificationCompat.BigTextStyle orNotificationCompat.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.

如果标准的通知样式不符合你的要求,那么你可以使用自定义布局来展示你的actiivty。你可以只在手表上面创建和启动自定义的布局,并且系统不会同步这些通知到手机端。

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:

注意,当创建手表上面的自定义的通知的时候,你可以使用标准的通知API 而不是支持库。

为了创建一个自定义的通知:

1:创建一个布局并且在activity 中设置

  1. Create a layout and set it as the content view for the activity that you want to display.
    public void onCreate(Bundle bundle){
        ...
        setContentView(R.layout.notification_activity);
    }
  2. Define necessary properties for the activity in the Android manifest to allow the activity to be displayed in the wearable's context stream process. You need to declare the activity to be exportable, be embeddable, and have an empty task affinity. We also recommend setting the theme to Theme.DeviceDefault.Light. For example: 在清单文件中定义需要的属性去允许activity 去展示手表的上下文的流进程。你需要这个actiivty 为exporteable,emabeddable,并且有一个空的任务affinity。我们还建议设置主题为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. Create a PendingIntent for the activity that you want to display. For example: 创建一个PendingIntent 给你需要显示的activity,例如
    Intent notificationIntent = new Intent(this, NotificationActivity.class);
    PendingIntent notificationPendingIntent = PendingIntent.getActivity(
            this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
  4. Build a Notification and call setDisplayIntent() providing the PendingIntent. The system uses thisPendingIntent to launch the activity when users view your notification.创建一个通知并且调用setDisplayIntent() 去提供PendingIntent。系统使用这个PendingIntent去启动这个activity当用户查看你的通知的时候。
  5. Issue the notification using the notify() method. 通过notify()方法来启动通知。

    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. 当通知在主屏幕上面显示,系统使用标准的模版来展示语义数据。这个模版在手表表盘上面运行的很好。当用户将通知向上滑动的时候,他们看到自定义的通知的activity。

Create Layouts with the Wearable UI Library 创建含有手表UI库的布局。



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:在你使用Android Studio 项目向导来创建手表应用的时候,手表UI库是自动的包含进来的。你也可以将这个库添加到你的build.gradle 文件中使用下面的依赖声明。

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.

这个库帮助你创建UIs

Here are some of the major classes in the Wearable UI Library:下面是手表UI库中的主要的类

BoxInsetLayout
A  FrameLayout  object that's aware of screen shape and can box its children in the center square of a round screen.
一个框架布局对象,他可以感知到屏幕的尺寸并且将他的子控件放在圆形屏幕的中见框中。
CardFragment
A fragment that presents content within an expandable, vertically scrollable card.
一个fragment 用来展示内容在一个可以扩展的,垂直滑动的卡片。
CircledImageView
An image view surrounded by a circle.
一个图片视图走位包含了一个圆形
ConfirmationActivity
An activity that displays confirmation animations after the user completes an action.
一个activity用来展示在用户完成了某个action 的时候确认的动画
CrossFadeDrawable
A drawable that contains two child drawables and provides methods to directly adjust the blend between the two.
一个drawable 包含了两个子的drawable 并且提供了放去去直接适应两个的混淆。
DelayedConfirmationView
A view that provides a circular countdown timer, typically used to automatically confirm an operation after a short delay has elapsed.
一个视图提供了圆形的倒计时,一般是用来在一个短的迟疑的事件消失(elapse)后自动的确认一个操作的
DismissOverlayView
A view for implementing long-press-to-dismiss.
为了实现长按消除的功能的视图
GridViewPager
A layout manager that allows the user to navigate both vertically and horizontally through pages of data. You supply an implementation of a  GridPagerAdapter instance to generate the pages that the view shows.
一个布局管理器,它允许用户去垂直的和水平的在页面数据上面定位。你可以实现一个GridPagerAdapter 的实例来产生视图显示的页面
GridPagerAdapter
An adapter that supplies pages to a  GridViewPager object.
为GridViewPager 对象提供页面的
FragmentGridPagerAdapter
An implementation of a  GridPagerAdapter instance that represents each page as a fragment.
一个实现了GridPagerAdapter实例展示的每一个页面都是一个fragment。
DotsPageIndicator
A page indicator for a  GridViewPager implementation that identifies the current page in relation to all available pages on the current row.
一个GridViewPager 实现的页面定位,它确定了当前的页面,这个页面和所有当前可用个页面
WatchViewStub
A class that can inflate a specific layout, depending on the shape of the device's screen.
一个类,这个类可以 依赖设备的尺寸填充特殊的布局。
WearableListView
An alternative version of a  ListView object that is optimized for ease of use on small screen wearable devices. It displays a vertically scrollable list of items, and automatically snaps to the nearest item when the user stops scrolling.
一个ListView 对象的改变的版本,这个已经为了在小手表的屏幕上面方便使用进行了优化。它展示了一个垂直的可滑动的list项目,并且当用户停止滑动的时候自动的选择最近的项目item。

Wear UI library API reference 手表UI库的参考

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.

CustomLayout:Android 自定义Layout CustomLayout Android 自定义ListView 与Dialog Layout 之范例。 (2015程设暑期加强班专用) 立即下载

相关推荐

保姆级教程:在紫光同创Titan2 FPGA上实现PCIe DMA,实测带宽接近理论极限

本文详细介绍了在紫光同创Titan2 FPGA上实现PCIe DMA性能调优的全过程,通过参数优化和架构设计,实测带宽达到6.91GB/s,接近理论极限。涵盖开发环境搭建、PCIe IP核定制、DMA引擎设计、驱动开发及性能调优等关键步骤,为FPGA开发者提供实用指南。

weixin_30954817的博客 335

android 自定义Layout布局

1.Android提供的五种布局有时候不能满足我们的需求,于是我要根据项目的需要自定义布局Layout; 自定义布局的步骤: 1.写一个布局CustomLayout类继承于Viewgroup类。实现onLayout()方法; 2.把CustomLayout的包名放在一个fragmentview.xml文件中; 3.把fragmentview放到main.xml中 4.在MainActiv

u012441486的专栏 1630

TMC2209串口配置实战:从寄存器解析到电机精准控制

本文详细解析TMC2209步进电机驱动芯片的串口配置方法,从硬件连接到UART通信协议,再到核心寄存器功能详解。通过实战案例展示电流控制、微步细分和速度调节等关键配置,帮助工程师实现电机精准控制,并提供了常见故障诊断和优化技巧。

f6g7h8i9j的博客 1173

Custom Layouts on Android

[原文地址] -- http://lucasr.org/2014/05/12/custom-layouts-on-android/

lihei12345的专栏 1332

手把手教你学simulink(26.7)--控制算法场景示例:基于模型预测控制(MPC)的智能温室环境控制系统

首先,我们需要将温室环境的动力学模型转换为状态空间形式。假设我们有四个状态变量:温度 TT、湿度 HH、光照强度 II 和二氧化碳浓度 CCO2CCO2​,以及四个控制输入:加热器功率 u1u1​、加湿器加湿量 u2u2​、通风扇风速 u3u3​ 和补光灯光照强度 u4u4​。状态空间模型可以表示为:x(t)=[T(t),H(t),I(t),CCO2(t)]Tx(t)=[T(t),H(t),I(t),CCO2​(t)]T 是状态向量。

MHD0815的博客 400

终于找到两个稳定好用的Docker镜像加速源,拉取速度提升几十倍!

国内使用Docker经常遇到镜像拉取慢、超时失败的问题🐳 本文分享两个亲测好用的免费镜像加速源⚡ 实测拉取速度从十几分钟缩短到几十秒,稳定性接近100%📊 支持一键配置脚本,支持多平台使用✨

XiaoqiangClub的博客 947

Linux-CentOS-6 安装与分区

安装使用镜像文件:CentOS-6.10-x86_64-minimal.iso Linux分区:顺序(主要是boot swap /) 1,boot 分区(因为boot是引导启动的程序,所以分区的时候必须先分boot,通常设置大小为200M) 2,swap(缓存分区,通常设置大小为1G) 3,/ (根分区,通常把硬盘剩下所有的都分配给根/) 4,/home分区 (可选) 下面开始安装 选择第一个选项,install or upgrade an existing system(安装或升级现有系..

交流 QQ 1157222342 3414

【yolo】如何在 YOLOv8 中添加负样本以减少误检

在YOLOv8目标检测中,误检(False Positive)是一个常见问题,即模型将非目标区域错误识别为目标。通过引入负样本(Negative Samples),即不包含任何目标框的图像,可以有效减少误检。在YOLOv8中添加负样本的方法是为这些图像提供空的标注文件(.txt),确保每张图像都有对应的标注文件,即使内容为空。可以使用Python脚本自动生成这些空标注文件。使用负样本时需注意数量比例、标注一致性、验证集同步和图像质量。适当加入负样本能显著提升模型鲁棒性,降低误判风险。

songhuangong123的博客 2879

android wear OS 记事本

android-wear os 记事本开发wear-OS 记事本sqllite+recyclerview的基本使用一、创建项目二、构建activity,继承wearableactivity三、根布局适配四、添加列表视图五、跳转按钮六、创建不同类别的包七、创建第二个activity八、完善主页布局文件,添加了一个swiperefresh九、日记编写页面的搭建十、常量类的创建十一、实体类的创建十二、数据库的操作十三、编写自定义alterdialog十四、列表条目布局文件的编写十五、编写适配器长按弹出提示框,删除

Willow_Spring的博客 1328

《Python入门到精通》函数详解

函数就是一段「封装」起来的「代码」,目的是提高代码的「模块性」和「复用性」。 2、函数的参数 2.1、变量的就近原则 2.2、传递参数 2.3、形参和实参 2.4、位置参数 2.5、缺省参数 2.6、可变类型和不可变类型 2.7、关键字参数 3、匿名函数 4、函数的返回值

wangyuxiang946的博客 1万+

【从零到一】Jetson Nano上YOLOv5部署完全攻略:零基础小白也能玩转边缘AI推理

文章摘要: 本文详细介绍了在Jetson Nano边缘设备上部署YOLOv5目标检测模型的完整流程。从硬件准备、系统镜像烧录、基础环境配置,到CUDA/cuDNN验证、Python虚拟环境搭建及PyTorch安装,逐步指导开发者完成部署准备。教程兼顾理论原理与实践操作,提供Python和C++两种实现方案,并涵盖TensorRT优化、实时检测等生产级应用场景,帮助零基础开发者快速掌握边缘AI推理技术,实现高性能目标检测应用。

LXY_LOVE36的博客 367

Android Studio安装与项目创建全流程指南

Android开发环境搭建是移动应用开发的基础环节,涉及JDK配置、Gradle构建系统等核心技术。通过合理配置环境变量和SDK路径,开发者可以构建高效的开发工作流。本文以Android Studio官方IDE为例,详解Windows/macOS双平台下的安装优化方案,包括SDK镜像源配置、HAXM加速等性能调优技巧,并指导创建符合现代Android开发规范的项目结构。针对企业级开发场景,特别介绍了Gradle多环境配置、构建缓存加速等工程实践,帮助开发者快速搭建可维护的移动开发基础设施。

weixin_30696427的博客 472

rk3568 rk628桥片hdmi转lvds

RK628 是瑞芯微全新推出的视频桥接芯片,支持丰富的显示接口,支持高分辨率大屏产品转换需求。基于DRM、FB的显示框架易于使用。 输入信号支持:HDMI、RGB、BT.1120,输出信号支持 HDMI、GVI、Dual LVDS、Dual MIPI、MIPI-CSI、RGB、BT.1120,最高支持4K 60fps 输入/输出转换,并且支持输入到输出 1/4~4倍的缩放。

weixin_35723192的博客 1131

android wear app开发教程,Android Wear入门开发之BoxInsetLayout

前面地基基本构建完成,接下来肯定要开始布局咯,所以咱今天要介绍的就是xml布局需要用到的控件BoxInsetLayout。在phone开发的时候,常用组件一般都是RelativeLayout,LineaLayout,FrameLayout等作为父控件,这些控件直接在手表中由于边缘的问题导致布局并不是你想要的那样。例如我在布局中放入三个控件:我在布局中放置了三个控件,但是很奇葩 运行的结果居然是这样...

weixin_42509105的博客 649

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

安卓穿戴项目(一)

原文:zh.annas-archive.org/md5/C54AD11200D923EEEED7A76F711AA69C 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 Android Wear 2.0 是针对可穿戴智能设备的一个强大平台。从 Wear 发布之日起,Wear 2.0 使可穿戴设备市场的新设备激活率接近 72%。谷歌正在与多个标志性品牌合作,为智能手表带来最佳用户体验。市场上新设备的穿戴硬件不断改进,展示了穿戴设备所具有的潜力。谷歌通过材料设计、独立应用程序、表盘创新等,引入了一种

龙哥盟 864

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

cocos creator 微信小游戏 封装banner、原生格子、插屏、激励视频广告

创建WxPlatform.ts文件 封装bannger广告 class WxPlatform { //banner广告 banner: BannerAd; showBanner() { if (cc.sys.platform != cc.sys.WECHAT_GAME) { return; } if (this.banner != null) { this.banner.destroy();...

这里是痞子Monkey的博客 6069

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

android自定义最简单的流式布局

一、.首先 在自定义view方面需要 android 最基础的知识也就是View的绘制流程了 measure、layout、draw的三个执行流程 measure:测量,测量自己有多大,如果是ViewGroup的话会同时测量里面的子控件的大小 layout:摆放里面的子控件 draw:绘制 (重写onDraw) MeasureSpec:测量规格 int 32位:0101...

Cloud 1004

Android可穿戴设备世界之旅

因此,无论是开发还是对代码结构有扎实的了解,您都需要对 Android 应用程序开发方面有一定的了解,还需要具备 JAVA 方面的知识。名为“”的文件定义方形耐磨屏幕的布局,而“”定义圆形耐磨屏幕的布局。首先,我们将集中精力制作一个“Hello Wear”应用程序,该应用程序将演示制作基本磨损应用程序并将应用程序运行到磨损模拟器中的步骤。当我们制作另一个针对方形屏幕的模拟器并运行我们之前所做的相同项目时,输出看起来相似,但文本值不是,因为我们没有更改文件中方形屏幕的 textview 字符串值。

double222222的博客 5776

微信小游戏原生模版广告居中显示

1.要让广告居中显示主要使用style对象中的left和width来控制。

qq_35327732的博客 1281

flutter开发实战-轮播Swiper更改Custom_layout样式中Widget层级

flutter开发实战-轮播Swiper更改Custom_layout样式中Widget层级在之前的开发过程中,需要实现卡片轮播效果,但是卡片轮播需要中间大、两边小一些的效果,这里就使用到了Swiper。具体效果如视频所示这里需要的效果是中间大、两边小一些,中间的卡片在最上层,两边的卡片会被中间的卡片挡住一部分。所以需要处理一下Custom_layout样式中Widget层级关系。

一名开发者 1516

Android Wear UI开发指南:构建出色的可穿戴设备界面

Android Wear UI开发指南:构建出色的可穿戴设备界面 前言 随着可穿戴设备的普及,为这些小型设备设计优秀的用户界面变得尤为重要。本文将基于Android Wear开发经验,详细介绍如何为可穿戴设备创建高效、美观的自定义用户界面。 可穿戴设备UI设计基础 可穿戴设备的用户界面与手机和平板电脑有着显著不同。由于屏幕尺寸小、交互方式特殊,开发者需要遵循特定的设计原则: 简洁性:界面元素必须...

gitblog_00350的博客 497

微信小游戏广告替换

微信广告替换

qq_42916173的博客 230

Wear OS基础介绍及基本创建Wear OS应用的方法

文章目录前言一、Wear OS是什么?二、准备阶段1. 你需要的2. Wear OS与Android相比如何?3. 专用于 Wear OS 的软件包三、开发1. 在 Android Studio 上创建 Wear OS 项目2.1 创建用户界面布局2.2 设置清单3. 最常见的 Wear OS UI 组件4. 使用"BoxInsetLayout"5. 使用"SwipeDismissFrameLayout"6. 导航6.1 使用导航抽屉四、结束

m0_46102089的博客 8170

Linux系统 Centos6 安装

centos系统ios镜像下载 下载地址:https://mirrors.aliyun.com/centos/,选择对应的版本,然后下载32位,64位,一般的生产环境都是64位DVD格式,iso扩展名的系统镜像 32位和64位系统区别 64位操作系统的cpu运算速度更快,支持更大的内存使用,可以发挥更大更好的硬件性能,提升业务工作效率 区分系统是32 还是 64 [root@Popp...

weixin_33733810的博客 191

android自定义实例化,如何使用android:layout属性实例化自定义首选项的布局

实际上我find了另一个解决方案。 您仍然可以使用Preferenceability:只需添加一个调用自定义布局的片段并添加它的类。 但是你会在Manifest中收到警告:(你可以忽略或修复)[res](AndroidManifest.xml)android:name=".SettingsActivity_CUSTOMLAYOUT1"“YOURPACKAGE.SettingsActivity_CU...

weixin_32821043的博客 226

android wear 常用布局,Android Wear 开发 (六) 创建自定义布局

在Android Studio中应用向导创建应用时会自动引入手表UI库。此外也可以在build.gradle中手动添加依赖声明:dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.google.android.support:wearable:+'compile 'com.google.androi...

weixin_31328555的博客 494
上一篇: Android Wear 进阶 5 Creating Watch Faces 创建表盘
下一篇: <等待翻译>Android Wear 进阶 2.3 Keeping Your App Visible 保持你的应用可见
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值