Android App Widget设计
App Widget也是一种UI组件,它可以让一小块程序(program piece)嵌入到桌面上。与普通的Widget(TextView、WebView等)相比,有以下几个不同:
- App Widget是有生命的UI组件,它会自动更新自身内容;
- Widget不能自动更新自身内容,只能被动的等待用户的调用;
应用上,由于App Widget自动更新的特性,所以它比较适合用来设计一些天气,新闻,日历等功能。
App Widget的设计流程:
- 规划App Widget的大小及更新时间,在/res/xml目录新增一份XML文件;
- 规划App Widget的UI,修改res/layout/main.xml;
- 编写App Widget的主程序;
- 编辑AndroidManifest.xml,设定App Widget可接受App Widget的更新事件:android.appwidget.action.APPWIDGET_UPDATE
及设计一个App Widget至少需要以下4个文件:
- res/xml/appwidget_provider.xml
- res/layout/main.xml
- src//HelloAppWidgetProvider.java
- AndroidManifest.xml
下面是一个具体实现App Widget的例子:
新建一个Android工程HelloAppWidget,在/res目录新建一个文件夹xml,在/res/xml目录下新建一个appwidget_provider.xml文件:
- <?xml version="1.0" encoding="utf-8"?>
- <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
- android:minWidth="85dp"
- android:minHeight="30dp"
- android:updatePeriodMillis="1000"
- android:initialLayout="@layout/main"
- >
- </appwidget-provider>
- <appwidget-provider>标签定义App Widget的属性
- android:minWidth 宽度
- android:minHeight 长度
- android:updatePeriodMillis定义App Widget的更新频率,Android框架每隔一段时间,会callback AppWidgetProvider类的onUpdate()事件;以前android的版本设定为1毫秒为单位,现在版本为了省电,更新时间为30~60分钟,所以现在设定30分钟以内的更新意义不大,系统默认为30~60分钟更新
- android:initialLayout属性指定此App Widget的UI layout定义,”@”符号在Android的XML定义档案,代表「目录」之意,因此”@layout/main”表示「layout目录下的main.xml档案」
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20