Widget使用详解(1)

Widget使用详解(1)_第1张图片 Widget使用详解(1)_第2张图片


一、Widget是什么?
Widget是桌面小部件。类似与桌面图标,桌面图标是静态的;Widget是动态的。知道是什么了么?其实你是见过的,比如Android系统桌面上的搜索框等,只要是动态的就是它了。还不知道?那就看下文吧。


二、Widget相关类
AppWidgetProvider:继承自BroadcastRecevier,在AppWidget应用update、enable、disable 和 delete 时接收通知。其中,onUpdate、onReceive 是最常用到的方法,它们接收更新通知。
AppWidgetProviderInfo:描述AppWidget的大小、更新频率和初始界面等信息,以XML文件形式存在于应用的res/xml/目录下。
AppWidgetManager:负责管理AppWidget,向AppwidgetProvider发送通知。
RemoteViews:一个可以在其他应用进程中运行的类,向AppWidgetProvider发送通知。
三、第一个Widget
[1]、布局文件(main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="请叫我Widget" />

</LinearLayout>
[2]、部件配置(xml/widget_provider.xml)
<?xml version="1.0" encoding="UTF-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/main"
    android:minHeight="40dp"
    android:minWidth="100dp"
    android:updatePeriodMillis="12345" >

</appwidget-provider>
[3]、AndroidManifest.xml
<receiver
    android:name=".FirstWidgetProvider"
    android:label="FirstWidget" >
    <intent-filter>
        <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    </intent-filter>
    <meta-data
        android:name="android.appwidget.provider"
        android:resource="@xml/widget_provider" />
</receiver>
[4]、来个extends AppWidgetProvider
public class FirstWidgetProvider extends AppWidgetProvider {

 @Override
 public void onReceive(Context context, Intent intent) {
  // TODO Auto-generated method stub
  super.onReceive(context, intent);
  
 }

}
四、小结
现在的很多定制系统已经取消了Android系统的深层菜单,把所有的应用图标都放在了开机桌面。这更加提供了Widget的需求,静态的图标已经满足不了用户需求。只有美化使用动态Widget才可以开发出更加漂亮的应用。图标是应用程序的容颜么!

你可能感兴趣的:(android,appwidget,widget,小部件,动态图标)