这期内容当中小编将会给大家带来有关AppWidget如何在Android开发中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
AppWidget即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序,先看图:
包com.example.joy.remoteviewstest; 进口android.appwidget.AppWidgetManager; 进口android.appwidget.AppWidgetProvider; 进口android.content.Context; 进口android.widget.RemoteViews;/* * *实现应用程序的小部件的功能。 */公开课MyAppWidgetProvider延伸AppWidgetProvider { 静态孔隙updateAppWidget(上下文语境,AppWidgetManager AppWidgetManager, int appWidgetId) { CharSequence进行widgetText=context.getString (R.string.appwidget_text);//构造RemoteViews对象=new RemoteViews RemoteViews视图(context.getPackageName (), R.layout.my_app_widget_provider); views.setTextViewText (R.id。appwidget_text widgetText);//指示部件管理器更新部件 appWidgetManager。updateAppWidget (appWidgetId、视图); } @Override 公共空间> & lt; RelativeLayout xmlns: android=癶ttp://schemas.android.com/apk/res/android" android: layout_width=癿atch_parent" android: layout_height=癿atch_parent" android:背景=? 09 c" android:填充=癅dimen/widget_margin"比; & lt; TextView android: id=癅 + id/appwidget_text" android: layout_width=皐rap_content" android: layout_height=皐rap_content" android: layout_centerHorizontal=皌rue" android: layout_centerVertical=皌rue" android: layout_margin=? dp" android:背景=? 09 c" android: contentDescription=癅string/appwidget_text" android:文本=癅string/appwidget_text" 输入textColor=癮ndroid: # ffffff" android: textStyle=按蟮▅ italic"/比; & lt;/RelativeLayout>
这个文件就是我们最后看到的桌面小部件的样子,布局文件中只有一个TextView。这是你可能会问,想要加图片可以吗?可以,就像正常的活动布局一样添加ImageView就行了,聪明的你可能开始想自定义小部件的样式了,添加功能强大外观漂亮逼格高的自定义控件了,很遗憾,不可以。小部件布局文件可以添加的组件是有限制的,详细内容在下文介绍RemoteViews时再说。
第三行,views.setTextViewText (R.id。appwidget_text widgetText);
将第一行声明的字符串赋值给上面布局文件中的TextView,注意这里赋值时,指定TextView的id,要对应起来。这一行对于了上面步骤中的第二点。
第四行,appWidgetManager。updateAppWidget (appWidgetId、视图);
这里调用了appWidgetManager.updateAppWidget()方法,更新小部件。这一行对应了上面步骤中的第四点。
这时,你可能有疑问了,上面明明说了四个步骤,其中第三步,创建一个ComponentName对象,明明就不需要。的确,这个例子中也没有用的到。如果我们手敲第四步代码,一样的智能提示会告诉你,appWidgetManager.updateAppWidget()有三个重载的方法。源码中三个方法没有写在一起,为了方便,这里我复制贴出官方API中的介绍
空白,,updateAppWidget (ComponentName 提供者,RemoteViews 视图)