1,xml文件下
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/timeshow"
android:minHeight="72dip"
android:minWidth="146dip"
android:updatePeriodMillis="0" >
</appwidget-provider>
2,Androidmanifest.xml
<receiver android:icon="@drawable/robot" android:name=".AppWidget" android:label="@string/app_name">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
</intent-filter>
<meta-data android:resource="@xml/timewidget" android:name="android.appwidget.provider"></meta-data>
</receiver>
3, java中 AppWidget 继承 AppWidgetProvider 重写方法onUpdate
eg:
public class AppWidget extends AppWidgetProvider {
private static Time mTime = new Time();
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
context.startService(new Intent(context, WidgetService.class));
}}
WidgetService 是不断刷新widget的一个服务。
public class WidgetService extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
AppWidgetManager manager=AppWidgetManager.getInstance(this);
RemoteViews views=AppWidget.getTimeView(this);
int[] appids=manager.getAppWidgetIds(new ComponentName(this, AppWidget.class));
manager.updateAppWidget(appids, views);
//获取当前时间
long now =System.currentTimeMillis();
long unit=1000;//间隔一秒
PendingIntent pintent=PendingIntent.getService(this, 0, intent, 0);
//计时器
AlarmManager alarm=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
//AlarmManager.RTC_WAKEUP设置服务在系统休眠时同样会运行
//第二个参数是下一次启动service时间
alarm.set(AlarmManager.RTC_WAKEUP, now+unit, pintent);
}
这里有一个widget的刷新的好列子
分享到:
相关推荐
- Widget知道自己的大小(extent)和内容。 - 但不知道自己的具体位置。 - 处理焦点和键盘事件。 - 监听Model的变化。 - 在Model变化时使自身无效,通知其所在的Container需要更新。 - 只有在接收到绘制命令时才会...
`appWidgetId`参数是传递给BroadcastReceiver的,以便我们知道哪个AppWidget触发了事件。然后,我们使用`getBroadcast`创建一个PendingIntent,并将其设置为按钮的点击事件处理程序。这样,当用户点击按钮时,就会...
Widget知道自身的大小和内容,但不知道其在屏幕上的位置。Widget负责处理焦点和键盘事件,监听Model的变化,并在需要时向其所在的Container发出无效化请求。Widget还通过`HandleEvent`函数处理特定的事件,如获取和...
* Blog 趣味小物件:通过 THANKS 这个 Widget 可以将你心底对某人的谢语让所有人都知道,同时它还可以当时钟玩。 四、Widget 的广告表现形式 Widget 的广告表现形式非常多样化,包括: * 案例分享产品形象展示 * ...
2. **电池电量**:这是用户最关心的信息之一,Widget会显示电池剩余的百分比,让用户知道何时需要寻找电源进行充电,避免因电量耗尽导致设备突然关机。 3. **电池健康**:电池健康度通常是指电池的性能状态,包括...
5. **注册Widget**: 在AndroidManifest.xml中注册你的AppWidgetProvider,并指定其对应的intent-filter,以便系统知道何时调用你的组件。 6. **提供配置Intent**: 如果需要用户自定义Widget的行为,例如选择相册...
以qml/widget为前端的TCP应用样例(QT) 包括Client和server的qml/widget版本 可以用于研究qml与c++的交互 不知道怎么调整积分,没有积分的可以点下关注我直发给你
在AndroidManifest.xml中配置这个信息,以便系统知道如何显示和处理小部件。 3. **RemoteViews**: 这个类用于表示在AppWidget中显示的视图。你可以使用它来操作和更新小部件上的UI元素,例如设置文本、图片或者按钮...
它可以展示操作的完成程度,让用户知道程序仍在运行,避免用户感到程序无响应。这个组件有两种主要模式:确定模式和不确定模式。 1. **确定模式**:在确定模式下,ProgressBar显示一个可量化的进度,例如从0到100,...
这样,系统就能知道何时调用我们的AppWidgetProvider实例。 在AppWidgetProvider的onUpdate方法中,通常会调用AppWidgetManager的updateAppWidget()方法来更新所有实例或者特定实例的视图。这一步对于实现动态更新...
你需要在`AndroidManifest.xml`文件中声明你的`AppWidgetProvider`,指定它对应的`<receiver>`标签,并在其中包含`<intent-filter>`,声明`ACTION_APPWIDGET_UPDATE`动作,以便系统知道何时调用你的小部件。...
当你知道组件的外观不会随时间改变时,可以使用StatelessWidget。例如,Text、Container或Icon等都是StatelessWidget。 2. StatefulWidget:当组件需要在运行时改变其状态时,如按钮点击、滑动效果或输入框内容变化...
在`AndroidManifest.xml`中声明AppWidgetProvider时,除了声明类和意图过滤器,还需要通过`meta-data`标签指定AppWidgetProviderInfo的XML资源位置,这样系统才能知道如何初始化和配置AppWidget。 `...
再者,节气和节日的显示功能使得用户在日常生活中能够更好地顺应自然规律,了解二十四节气的变化,同时提前知道法定节假日,以便安排休息或出行计划。此外,它还会自动更新国家和地区的公共假期,让用户时刻保持对...
通过以下操作你可以制作出一个手机wgt,功能相当于电脑上的快捷方式。不知道如何添加小组件的,请参考http://wenku.baidu.com/view/8d02e6eef8c75fbfc77db21a.html
这样,系统就能知道何时调用你的Widget。接收器的配置包括了Widget的名称、图标、以及一个指向XML资源的`meta-data`标签,这个XML资源包含了Widget的元数据,比如尺寸、更新频率等。 XML资源文件,例如`res/xml/...
这样,系统就能知道何时调用你的Widget。你需要在`<receiver>`标签内声明你的WidgetProvider类,并在`<intent-filter>`中指定`ACTION_APPWIDGET_UPDATE`动作。 4. **类定义**: 创建一个类继承自`...
在这个"CKEditor-Widget-Customize"项目中,我们主要关注的是如何自定义CKEditor的小部件以及实现拖放功能。以下是对这些知识点的详细解释: 1. **CKEditor小部件**: CKEditor的小部件系统允许开发者创建可重用的...
7. **权限管理**:如果Widget需要访问特定系统资源或服务,如相机、位置等,需测试权限请求的流程,确保用户明确知道为何需要这些权限。 8. **生命周期管理**:Widget有自己的生命周期,包括安装、启动、更新和卸载...