• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android API Guides---App Widgets

Android API Guides---App Widgets

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android api,android api中文版,android api文档,android api官网,android api下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android API Guides---App Widgets


应用小工具

应用Widget是可以在其他应用程序(如主屏幕)嵌入并接受定期更新的微型应用程序的意见。这些观点在用户界面被称为小工具,你可以发布一个与应用的Widget提供商。即能持有其他应用程序的窗口小部件的应用程序组件被称为应用程序的Widget主机。下面的截图显示音乐应用的Widget。

\

本文介绍了如何使用应用程序的Widget提供者发布应用的Widget。为了创建自己的AppWidgetHost托管应用小部件的讨论,请参阅应用的Widget主机。


设计的Widget
有关如何设计你的应用程序窗口小部件的信息,请阅读窗口小部件的设计指南。
基础


要创建一个应用程序窗口小部件,您需要满足以下条件:


AppWidgetProviderInfo对象
描述元数据为应用的Widget,如在App Widget的布局,更新频率,以及AppWidgetProvider类。这应当以XML来定义。
AppWidgetProvider类的实现
定义的基本方法,让您以编程与应用程序widget界面,基于广播的事件。通过它,当应用程序的Widget被更新,启用,禁用和删除您将收到广播。
视图布局
定义了应用程序插件的初始布局,在XML中定义。
此外,还可以实现一个应用的Widget配置活动。这是一个可选的活动,当用户将您的Widget应用程序,并允许他或她在修改创作时应用小工具设置,启动。


以下各节描述了如何设置这些组件。


在清单中声明一个应用程序窗口小部件


首先,声明在应用程序的Andr??oidManifest.xml文件中的AppWidgetProvider类。例如:


  
    
  
  
在<接收器>元素需要在android:name属性,它指定了应用程序的Widget使用的AppWidgetProvider。


在<意向filter>元素必须包含了Android的元素:name属性。该属性指定AppWidgetProvider接受ACTION_APPWIDGET_UPDATE播出。这是你必须显式声明的唯一播出。该AppWidgetManager自动发送所有其他App的Widget广播到AppWidgetProvider是必要的。


在<元数据>元素指定AppWidgetProviderInfo资源,需要以下属性:


机器人:名字 - 指定的元数据名称。使用android.appwidget.provider标识数据作为AppWidgetProviderInfo描述符。
机器人:资源 - 指定AppWidgetProviderInfo资源位置。
添加AppWidgetProviderInfo元


该AppWidgetProviderInfo一个App Widget时,基本素质定义,如最小尺寸的布局,其初始布局资源,多久更新应用程序窗口小部件,和(可选)配置活动在创建时推出。定义AppWidgetProviderInfo对象使用一个元素的XML资源,并将其保存在项目的RES / XML /文件夹。


例如:


这里的的摘要属性:


对了minWidth和属性了minHeight的值指定应用的Widget消耗默认的最小空间量。默认主页屏幕位置应用小部件在其窗口的基础上具有一个定义的高度和宽度的细胞的网格。如果一个App Widget的最小宽度或高度值不匹配的单元格的尺寸,然后应用程序窗口小部件的尺寸四舍五入到最接近的单元尺寸。
查看应用程序的Widget设计准则有关调整你的App小工具的更多信息。
注:为了使您的应用程序窗口小部件可跨设备,你的应用程序widget的最小尺寸不应大于4×4细胞。


该minResizeWidth和minResizeHeight属性指定应用Widget的绝对最小尺寸。这些值应指定大小低于该应用的Widget会难以辨认或不可用。使用这些属性允许用户小窗口调整大小的尺寸可能比由了minWidth和了minHeight属性定义的默认插件尺寸。在推出的Andr??oid 3.1。
查看应用程序的Widget设计准则有关调整你的App小工具的更多信息。
该updatePeriodMillis属性定义多久的Widget应用程序框架应通过调用的onUpdate()回调方法要求从AppWidgetProvider更新。实际更新不保证准确地出现在时间这个值,我们则建议尽可能少,也许不超过一小时一次,以节省电池。您可能还允许用户调整的频率配置,有些人可能希望有一个股票代码,以每15分钟,或者也许只有一天四次更新。
注意:如果该装置处于睡眠状态时,它是时间的更新(如由updatePeriodMillis定义),则该设备将依次执行更新醒来。如果不更新超过每小时一次,这大概不会引起对电池寿命显著问题。但是,如果您需要更新更频繁和/或你并不需要更新,而设备是睡着了,那么你就可以执行,而不是基于不会唤醒设备的报警的更新。要做到这一点,设置闹钟与你的AppWidgetProvider接收,使用AlarmManager的意图。设置报警类型要么ELAPSED_REALTIME或RTC,其中,当该设备是醒着将仅提供警报。然后设置updatePeriodMillis为零(“0”)。


该initialLayout属性点来定义应用程序的Widget布局布局资源。
该配置属性定义了活动,当用户添加应用程序窗口小部件,为了推出他或她来配置应用程序窗口小部件的属性。这是可选的(阅读下面创建一个应用程序窗口小部件配置活动)。
该previewImage属性指定的应用程序部件将是什么它的配置后的预览,选择应用程序窗口小部件时,用户看到。如果没有提供,用户,而不是看到你的应用程序的启动图标。该字段对应于Android的:在AndroidManifest.xml文件的<接收>元素previewImage属性。对于使用previewImage的更多讨论,请参阅设置预览图像。介绍了Android 3.0的。
该autoAdvanceViewId属性指定的应用程序部件子视图应该是自动先进的部件的主机的视图ID。介绍了Android 3.0的。
该resizeMode属性指定由一个widget可以调整的规则。您可以使用此属性使主屏幕小部件可调整大小,水平,垂直或两个轴。用户触摸按住某个小部件,以显示其缩放柄,然后拖动水平和/或垂直手柄来改变布局网格的大小。对于resizeMode属性的值包括“水平”,“垂直”和“无”。为调整大小水平和垂直声明一个小部件,提供值“横|纵”。在推出的Andr??oid 3.1。
该minResizeHeight属性指定该控件可以调整的最低高度(DPS)。此字段没有任何影响,如果超过了minHeight大于或没有启用垂直大小调整(见resizeMode)。介绍了Android 4.0的。
该minResizeWidth属性指定了小部件可以调整大小的最小宽度(DPS)。此字段没有任何影响,如果超过了minWidth大于或没??有启用水平调整大小(见resizeMode)。介绍了Android 4.0的。
该widgetCategory属性声明是否你的应用程序的Widget可以在主屏幕(home_screen),锁屏(键盘保护),或者两者上显示。只有Android的版本比5.0的支持锁屏小部件低。对于Android 5.0以上版本,只有home_screen是有效的。
见AppWidgetProviderInfo类由元素接受属性的更多信息。


创建应用程序窗口小部件布局


你必须在XML定义一个初始布局为您的应用程序窗口小部件,并将其保存在项目的RES /布局/目录下。您可以使用下面列出的视图对象设计的App窗口小部件,但你开始设计的Widget应用程序之前,请阅读并理解应用的Widget设计指南。


创建应用程序窗口小部件的布局很简单,如果你熟悉的布局。但是,你必须要知道,应用程序的Widget布局是基于RemoteViews,这并不支持每一种布局或视图小部件。


一个RemoteViews对象(,因此,应用程序的Widget),可以支持以下布局类:


的FrameLayout
的LinearLayout
的RelativeLayout
网格布局
而下面的小部件类:


AnalogClock
按键
时计
的ImageButton
ImageView的
进度条
TextView中
ViewFlipper
列表显示
网格视图
StackView
AdapterViewFlipper
不支持这些类的后裔。


RemoteViews还支持ViewStub,这是一种无形的,零大小的视图,您可以使用在运行时懒洋洋地膨胀布局资源。


添加边距应用小工具


窗口小部件,一般不应延伸到屏幕边缘,不应该在视觉上与其他小部件齐平,所以你应该在你的周围小窗口框各方增加利润。


由于Android 4.0,应用小部件会自动给出的小窗口框和应用程序窗口小部件的边框为用户提供用户的主屏幕上的其他部件和图标更好地协调之间的填充。要充分利用这一强烈推荐行为的优势,设置应用程序的targetSdkVersion至14或更大。


这很容易写出具有适用于早期版本的平台,自定义边距单一的布局,并有Android 4.0及更高没有多余的边距:


设置应用程序的targetSdkVersion至14或更大。
创建一个布局,如下面的人,引用其利润率方面的资源:

<frameLayout
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:padding="@dimen/widget_margin">

 
  …
 

</frameLayout>
创建两个维度的资源,一个在RES/价值/提供预Android 4.0的定制空间,和一个在res/值-V14/提供Android 4.0的小部件没有微胖:
RES/价值/ dimens.xml:




 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ArcGIS Android工程迁移到其他电脑不能打开的问题,arcgisandroid
  • Android API Guides---Drawable Resources
  • Android API Guides---Animation Resources
  • Android API Guides---App Widgets
  • Android API Guides---App Widget Host
  • Android版本和API Level对应关系,androidlevel

相关文章

  • 2017-05-26android Notification介绍,androidnotification
  • 2017-05-26使用C++实现QML的TreeView Model (二)
  • 2017-05-26Android 仿当乐游戏详情页面(二)
  • 2017-05-26Android应用程序(APK)的编译打包过程,androidapk
  • 2017-05-26为什么在python里推荐使用多进程而不是多线程?--转同事的一篇文章
  • 2017-05-26Android学习笔记-TextView(文本框)(二),android-textview
  • 2017-05-26使用nginx作为tcp代理的安装配置例子
  • 2017-05-26Json解析工具的选择,Json解析工具选择
  • 2017-05-26Android中的JSONObject和JSONArray的使用
  • 2017-05-26关于异地容灾的感触

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 快递物流信息布局,快递物流信息
    • Android Gson使用入门及GsonFormat插件的使用
    • 谈谈Android中的Divider,AndroidDivider
    • Android焦点事件分发与传递机制
    • 仿拉手团购App6--注册界面,仿拉手团购app6--
    • Spider引擎分布式数据库解决方案(最全的spider教程)
    • Linux内核系列—10.操作系统开发之内核HelloWorld,linuxhelloworld
    • Android 应用程序集成FaceBook 登录,androidfacebook
    • android 特殊用户通知用法汇总--Notification源码分析
    • andriod Spinner,andriodspinner

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有