RemoteViews:远程的view,用在widget和自定义notification布局里。本文简单完成一个widget组件。

1.定义Widget布局XML /res/layout/widget_layout.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:background="#ccc"    android:orientation="vertical" >    <TextView        android:id="@+id/widgetButton"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginTop="30dp"        android:background="#000000"        android:text="firstWidget"        android:textSize="20sp" /></LinearLayout>

2.定义Widget属性文件 /res/xml/widget_info.xml

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"    android:minWidth="232dp"    android:minHeight="132dp"    android:updatePeriodMillis="86400000"    android:initialLayout="@layout/widget_layout" > </appwidget-provider>

3. 创建FirstWidgetProvider子类,实现onUpdate()等函数。

package net.qingtian.appwidget;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.Context;import android.util.Log;public class FirstWidgetProvider extends AppWidgetProvider {private static final String TAG = "qingtian";@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) {Log.i(TAG, "onupdated");super.onUpdate(context, appWidgetManager, appWidgetIds);}@Overridepublic void onDeleted(Context context, int[] appWidgetIds) {Log.i(TAG, "onDeleted");super.onDeleted(context, appWidgetIds);}@Overridepublic void onDisabled(Context context) {Log.i(TAG, "onDisabled");super.onDisabled(context);}@Overridepublic void onEnabled(Context context) {Log.i(TAG, "onEnabled");super.onEnabled(context);}}

4.在manifest中注册receiver,添加一个action为 android.appwidget.action.APPWIDGET_UPDATE 的IntentFilter,并添加如下<meta- data>标识:

<receiver android:name="net.qingtian.appwidget.FirstWidgetProvider" >            <intent-filter>                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" >                </action>            </intent-filter>            <meta-data                android:name="android.appwidget.provider"                android:resource="@xml/widget_info" >            </meta-data></receiver>

简单的widget用法,初识庐山真面目,查看widget声明周期。

demo下载地址:http://download.csdn.net/detail/u011647962/8182789




















更多相关文章

  1. Android学习札记47:TextView显示Html类解析的网页和图片及自定义
  2. Android添加多语言
  3. [置顶] Android(安卓)SimpleAdapter,SimpleCursorAdapter,ArrayAda
  4. 5.3 ListView的HeaderView
  5. Android(安卓)AppWidgetProvider使用简例
  6. android布局知识符文(layout)
  7. Android(安卓)Studio(2.3.3)配置Kotlin笔记
  8. Android自定义View基础--Paint画笔设置样式
  9. Android(安卓)动态生成布局 (多层嵌套)

随机推荐

  1. Android(安卓)APK 安装过程及原理详解
  2. Android消息推送完美解决方案全析
  3. Android(安卓)SHA1值获取方式(开发模式和
  4. android 内存优化以及性能优化相关问题
  5. Android快速实现二维码扫描--Zbar
  6. CyanogenMod 10 修改 Vold 使 Android 自
  7. CountDownTimer浅析
  8. Android Framework 之HelloWorld(二)
  9. [置顶] 【Android】 基于Socket 的即时通
  10. 修改Android Studio的Android SDK Path