Widget的生命周期

查看sdk的帮助文档sdk-docs-index.html-APIGuides-AppComponets-AppWidget

AppWidget

所谓AppWidget就是微型应用程序的意思,它可以嵌入在其他应用程序(如主屏幕),并能定期更新其view。这些view被当成用户界面的小部件,您可以使用AppWidgetprovider来发布AppWidget

 

注意:创建了AppWidget后需要卸载应用后重装才能生效。有时候需要重启模拟器才会生效。

 

Widget创建

 

1.AppWidget的元数据进行描述,在xml文件中定义。

   因为意图过滤器中引用到了@xml/example_appwidget_infores目录下创建xml目录,并创建 AppWidgetProvider.xml文件。 将帮                                              助文档中的demo拷贝过去。

2创建一个类继承AppWidgetProvider

3.AppWidgetProvider实际上是一个广播接受者,所以需要在清单文件中进行配置。将广播接受者的意图过滤器从帮助文档中拷贝过去。

   配置意图过滤器和元数据

 

 

1.AppWidget的元数据进行描述,在xml文件中定义。

   因为意图过滤器中引用到了@xml/example_appwidget_infores目录下创建xml目录,并创建 AppWidgetProvider.xml文件。 将帮                                              助文档中的demo拷贝过去。

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"

    android:initialLayout="@layout/example_appwidget"

    android:minHeight="72dp"

    android:minWidth="294dp"

    android:resizeMode="horizontal|vertical"

    android:updatePeriodMillis="86400000" >

 

    <!--

   这个是4.0以上版本才有的属性所以去掉它了

    android:initialKeyguardLayout="@layout/example_keyguard"

    -->

 

</appwidget-provider>

属性介绍

previewImage 指定widget的预览图片

resizeMode 说明widget重新被调整大小的规则

updatePeriodMillis widget的更新周期,默认最短时间是半个小时,单位是毫秒。

initialLayout widget的初始化布局文件

minHeightminwidth widget在屏幕上至少要占据多大空间

 

2创建一个类继承AppWidgetProvider

package com.itheima.widget;

 

import android.appwidget.AppWidgetProvider;

 

public class MyWidget extends AppWidgetProvider {

 

}

4.AppWidgetProvider实际上是一个广播接受者,所以需要在清单文件中进行配置。将广播接受者的意图过滤器从帮助文档中拷贝过去。

   配置意图过滤器和元数据

 <receiver android:name="com.itheima.widget.MyWidget" >

            <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>

 

 

 

Widget的生命周期

第一次被创建时调用onEnable

创建新的widget时会调用onUpdate

移除时会调用onDelete

当最后一个被移除时调用onDisable

当增加移除widget的时候onReceive方法都会被执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值