一:建立一个类继承AppWidgetProvider

Android桌面小组件的使用-LMLPHP

二:建立AWP的布局文件:

布局自己定义一个,但是在使用控件上是有要求的:

Android桌面小组件的使用-LMLPHP

以上是Widget目前支持的控件。

三:编写AWP的信息文件:需要在res下建立一个xml文件夹,并建立xxx.xml

Android桌面小组件的使用-LMLPHP

内容如下:

Android桌面小组件的使用-LMLPHP

其中的android:configure是用来启动Widget的配置文件的,android:previewImage设置一张图片,在选择这个widget的时候会显示,就是一个预览。重点是其中的android:initialLayout这个属性是用来设置widget布局的。

四:在配置文件中声明自己的AWP:

Android桌面小组件的使用-LMLPHP

为什么声明的是一个receiver呢,因为AWP的交互方式采用的广播的方式,比如将AWP添加到桌面上就会发送一个添加的广播,更新数据,删除等,还有就是点击事件都是用广播去实现的,所以这里声明了广播,其中的两个name是系统规定的,也就是广播的标识,必须这么写。

五:AppWidgetProvider的使用

如果没有特殊的需求只需要实现以下两个方法就行了

Android桌面小组件的使用-LMLPHP

其中的onUpdate方法比较常用,比如注册按钮监听什么的,而且这个方法在每添加一个widget的时候,都会调用。

OnReceive方法用来接受各种广播,比如系统的广播和注册的按钮的广播,应为widget这个组件交互方式和其他的组件不同,是通过RemoveView来交互的,属于跨进程的,所以采用了广播的方式,也是高端大欺上档次吧。

05-06 09:40