首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

App Widgets 窗口小构件

2012-07-01 
App Widgets 窗口小部件??? App Widgets是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接

App Widgets 窗口小部件

??? App Widgets是微小的应用程序视图,可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。

??? 相关的基本概念:

???? AppWidgetProviderInfo 为App Widgets提供元数据,包括布局、更新频率等。被定义在xml文件中。 ???? AppWidgetProvider 定义了App Widgets基本生命周期函数。

一 创建一个App Widget的步骤

? 1.在res/xml/文件夹中定义一个example_appwidget_info.xml

??

<appwidget-provider  xmlns:android="http://schemas.android.com/apk/res/android"  android:minWidth="294dp"  android:minHeight="72dp"  android:updatePeriodMillis="8640000"  android:initialLayout="@layout/example_appwidget"></appwidget-provider>

?

?

?

?

2.为App Widget指定样式和布局

?在layout下定义一个新的布局文件example_appwidget.xml

?

<?xml version="1.0" encoding="utf-8"?><LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent">  <TextView   android:id="@+id/widgetTextId"  android:layout_width="fill_parent"  android:layout_height="wrap_content"  android:text="firstWidgetText"  android:background="#000000"    />  </LinearLayout>

?

?

?

?3实现AppWidgetProvider

? onUpdate:在道道指定的更新时间之后或者当用户向桌面添加App Widget时会调用该方法。

?? public class ExampleAppWidgetProvider extends AppWidgetProvider{@Overridepublic void onDeleted(Context context, int[] appWidgetIds) {System.out.println("ondelete-");super.onDeleted(context, appWidgetIds);}@Overridepublic void onDisabled(Context context) {System.out.println("onDisabled-");super.onDisabled(context);}@Overridepublic void onEnabled(Context context) {System.out.println("onEnabled-");super.onEnabled(context);}@Overridepublic void onReceive(Context context, Intent intent) {//String action=intent.getAction();System.out.println("onReceive-");super.onReceive(context, intent);}@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {System.out.println("onupdate");super.onUpdate(context, appWidgetManager, appWidgetIds);}}

?

?

4.在AndroidManifest.xml 声明

?

<receiver android:name="ExampleAppWidgetProvider"><intent-filter><action android:name="android.appwidget.action.APPWIDGET_UPDATE" /></intent-filter><meta-data android:name="android.appwidget.provider"android:resource="@xml/example_appwidget_info" /></receiver>

?

5 运行项目,在模拟器桌面长按左键出现

?


App Widgets 窗口小构件
?

?

选中widgets,

?


App Widgets 窗口小构件
?选中应用appwidget01,出现

?


App Widgets 窗口小构件
?第一个测试小例子就运行成功了。嘿嘿 谢谢mars老师。

?

热点排行