Android 使用Widget 添加桌面小组件
来源:互联网 发布:linux没有yum命令 编辑:程序博客网 时间:2024/04/28 04:12
Widget 桌面时间小组件
使用Widget添加桌面小组件 实现桌面时间更新
Demo 地址https://wzeqiu.github.io/
AppWidgetProvider 继承自 BroadcastReceiver,它能接收 widget 相关的广播,例如 widget 的更新、删除、开启和禁用等。
AppWidgetProvider中的广播处理函数如下:
onUpdate()
当 widget 更新时被执行。
同样,当用户首次添加 widget 时,onUpdate() 也会被调用,这样 widget 就能进行必要的设置工作(如果需要的话) 。但是,如果定义了 widget * 的 configure属性(即android:config,后面会介绍),那么当用户首次添加 widget 时,onUpdate()不会被调用;之后更新 widget * 时,onUpdate才会被调用。onAppWidgetOptionsChanged()
当 widget 被初次添加 或者 当 widget 的大小被改变时,执行onAppWidgetOptionsChanged()。你可以在该函数中,根据 widget 的大小来显示/隐藏某些内容。可以通过 getAppWidgetOptions() 来返回 Bundle 对象以读取 widget 的大小信息,Bundle中包括以下信息:
OPTION_APPWIDGET_MIN_WIDTH – 包含 widget 当前宽度的下限,以dp为单位。
OPTION_APPWIDGET_MIN_HEIGHT – 包含 widget 当前高度的下限,以dp为单位。
OPTION_APPWIDGET_MAX_WIDTH – 包含 widget 当前宽度的上限,以dp为单位。
OPTION_APPWIDGET_MAX_HEIGHT – 包含 widget 当前高度的上限,以dp为单位。onAppWidgetOptionsChanged() 是 Android 4.1 引入的。
onDeleted(Context, int[])
当 widget 被删除时被触发。onEnabled(Context)
当第1个 widget 的实例被创建时触发。也就是说,如果用户对同一个 widget 增加了两次(两个实例),那么onEnabled()只会在第一次增加widget时触发。onDisabled(Context)
当最后1个 widget 的实例被删除时触发。onReceive(Context, Intent)
接收到任意广播时触发,并且会在上述的方法之前被调用。总结,AppWidgetProvider 继承于 BroadcastReceiver。实际上,App Widge中的onUpdate()、onEnabled()、onDisabled()等方法都是在 onReceive()中调用的;是onReceive()对特定事情的响应函数。参考android源码frameworks/base/core/java/android/appwidget/AppWidgetProvider.java中onReceive()的定义:
- Android 使用Widget 添加桌面小组件
- Android-Widget桌面小组件
- 【J】Android-Widget桌面小组件
- 初识widget桌面小组件
- android widget小组件
- android桌面小组件(时钟)--widget初体验
- Android 桌面小组件AppWidget的使用
- Android桌面小组件的使用
- Android之Widget小组件
- 初步分析Android——桌面小组件App Widget Host
- Android 桌面小组件Timer时钟使用场景
- 小组件widget
- Android桌面小组件:最简例子
- Android桌面小组件的命名空间
- <Android>桌面小组件实现过程
- Android 笔记 快捷方式 / 桌面小组件
- Android之Widget (微件、小组件)
- Android中Widget (微件、小组件)
- 数据结构实验之二叉树一:树的同构
- new/delete和malloc/free的区别
- C++:Boost库智能指针_shared_ptr
- 56. Merge Intervals
- matlab中如何从一个矩阵的行列中找出 0 元素的个数 或者位置 并作为判断条件
- Android 使用Widget 添加桌面小组件
- 8.1 幽灵(no.41~no.50)
- C++中的覆盖和隐藏
- 《React-Native系列》12、 API模块之PixelRatio和Dimensions
- Mybatis-SpringMVC-Spring框架整合
- 基于Spring的定时器
- iOS之二维码扫描
- javascript中定义事件的三种方式
- Stirring和stringBuffer