<强>介绍强>
AppWidgetProvider是Android中提供的用于实现桌面小工具的类,其本质是一个广播,即BroadcastReceiver,在实际的使用中,把AppWidgetProvider当成一个BroadcastReceiver即可
1。为AppWidget提供一个文件定义小控件的基本配置信息
在资源文件夹res目录下新建xml文件夹,添加app_widget_provider_info.xml文件内容为:
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; !——小控件宽高——比; & lt; !——android: minWidth=?0 dp”——比; & lt; !——android: minHeight=?0 dp”——比; & lt; !——更新时间——比; & lt; !——android: updatePeriodMillis=?6400000”——比; & lt; !——用于指定预览图片。即搜索到小部件时,查看到的图片。若没有设置的话,系统为指定一张默认图片。——比; & lt; !——android: previewImage=" @drawable/widget_flashlight”——比; & lt; !——小部件添加到手机主屏幕中的布局——比; & lt; !——android: initialLayout=" @layout/flash_light_widget”——比; & lt; !——android: resizeMode:小部件可以被拉伸的方向.horizontal表示可以水平拉伸,垂直表示可以竖直拉伸——比; & lt; !——android: resizeMode=八絴垂直”——比; & lt; appwidget-provider xmlns: android=" http://schemas.android.com/apk/res/android " android: minWidth=" 40 dp " android: minHeight=" 40 dp " android: updatePeriodMillis=" 86400000 " android: previewImage=" @drawable/ic_launcher” android: initialLayout=" @layout/widget_layout” android: resizeMode=八絴垂直”比; & lt;/appwidget-provider> >之前2。创建一个WidgetProvider继承自AppWidgetProvider;
公开课MyAppWidgetProvider延伸AppWidgetProvider {//没接收一次广播消息就调用一次,使用频繁 公共空间> & lt; RelativeLayout xmlns: android=" http://schemas.android.com/apk/res/android " android: layout_width=" 64 dp” android: layout_height=" 64 dp” 比; & lt; ImageButton android: id=癅 + id/widget_led” android: layout_margin=" 2 dp " android:背景=" @drawable/widget_led” android: src=" https://www.yisu.com/zixun/@drawable ic_launcher " android: scaleType="中心" android: layout_width=" 64.0下降” android: layout_height=" 64.0浸”/祝辞 & lt;/RelativeLayout> >之前4。注册Manifest.xml
配置基本和广播一样,使用接收机节点,元数据节点的名字为固定格式,资源为第一步定义的配置信息,意图过滤器节点第三个动作必须提供
& lt;接收机android: name=?jf.jfclean.widget.FlashLightWidget”比; & lt; intent-filter> & lt;行动android: name=" action_led_on "/比; & lt;行动android: name=" action_led_off "/比; & lt;行动android: name=" android.appwidget.action。APPWIDGET_UPDATE”/比; & lt;/intent-filter> & lt;元数据 android: name=" android.appwidget.provider " android:资源=癅xml/flash_light_widget_info”/比; & lt;/receiver> >之前5。使用PendingIntent和RemoteViews对AppWidget绑定监听器,使用RemoteViews在MyAppWidgetProvider的onUpdate()方法中为波顿绑定监听器
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
安卓控件AppWidgetProvider使用方法详解