Android桌面小插件——Widget
来源:互联网 发布:华为交换机端口速率 编辑:程序博客网 时间:2024/05/09 23:19
Android桌面小插件——Widget
效果图
实现
1. 创建Widget类
创建一个Widget类,并实现页面创建的时候,就实现显示时间
package com.kongqw.kqwwidget;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.widget.RemoteViews;import android.widget.Toast;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;/** * Created by kongqw on 2015/12/31. */public class KqwWidget extends AppWidgetProvider { @Override public void onDeleted(Context context, int[] appWidgetIds) { super.onDeleted(context, appWidgetIds); } @Override public void onDisabled(Context context) { super.onDisabled(context); } @Override public void onEnabled(Context context) { super.onEnabled(context); } @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); } @Override public void onUpdate(final Context context, final AppWidgetManager appWidgetManager, int[] appWidgetIds) { super.onUpdate(context, appWidgetManager, appWidgetIds); Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { ComponentName provider = new ComponentName(context.getApplicationContext(), KqwWidget.class); /* * 获取Widget远程View对象 * 参数1 Widget的包名 * 参数2 Widget的布局id */ RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget); // 获取远程View布局中的控件 Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = format.format(date); views.setTextViewText(R.id.textView, "时间:" + time); appWidgetManager.updateAppWidget(provider, views); } }; // 开启定时任务,每5秒更新执行一次 timer.schedule(timerTask, 1000, 1000); } public void method(Context context) { Toast.makeText(context, "KqwWidget里的方法", Toast.LENGTH_SHORT).show(); }}
2. 在清单文件中注册Widget控件
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.kongqw.kqwwidget"> <application ……> …… <receiver android:name=".KqwWidget" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" /> </receiver> </application></manifest>
3. 创建Widget配置文件
在res下创建xml文件夹,在xml下创建appwidget_info.xml文件
<?xml version="1.0" encoding="utf-8"?><appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialLayout="@layout/appwidget" android:minHeight="72dp" android:minWidth="294dp" android:previewImage="@mipmap/ic_launcher" android:updatePeriodMillis="86400000" />
4. 添加Widget布局文件
appwidget.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="100dp" tools:context="com.kongqw.kqwwidget.MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFFFF" android:gravity="center" android:text="时间" android:textColor="#FF000000" android:textSize="30dp" /></RelativeLayout>
调用Widget里的方法
可以做一些操作Widget数据的操作
KqwWidget kqwWidget = new KqwWidget();kqwWidget.method(this);
0 0
- Android桌面小插件——Widget
- 【Android学习笔记】App Widget 桌面小插件
- android 桌面插件 App Widget
- android studio创建桌面插件widget
- android Widget 桌面小图标,类似快捷方式
- Android widget桌面小部件与RemoteViewsService
- Android-Widget桌面应用小部件
- Android Widget桌面小部件二
- android widget(桌面小部件)实现
- android更新桌面小插件widget的imageview时 出现!!! FAILED BINDER TRANSACTION !!!错误
- Widget(桌面插件)
- 桌面小部件Widget
- Widget桌面小部件
- Widget 桌面小控件
- android widget 桌面插件的简单事例讲解
- 【Android】实现桌面清理内存简单Widget小控件
- Android的桌面小图标Widget的学习
- android widget桌面时钟
- SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
- 2015-12-31 工作笔记3
- VirtualBox 提示严重错误,创建 COM 对象失败
- IOS_下载图片
- 野鸟装备2.2版本开发问题
- Android桌面小插件——Widget
- java 自定义单向链表实现“反序”输出
- odac_client的安装及使用方法
- ITOO项目初期的总结
- Java四舍五入保留两位小数方法
- TweenMax 二
- 位运算
- Your PC needs to be repaired
- 收藏一些效果炫酷的可视化网站