Android基础之App Widget创建
来源:互联网 发布:诺基亚5233下载软件 编辑:程序博客网 时间:2024/05/18 18:17
简单的说一下怎么建立App Widget以及点击进入相应的Activity。
创建一个App Widget需要四个步骤:
一、在AndroidManifest中配置
在AndroidManifest中配置App Widget其实和写广播接收器一样:
<receiver android:name=".MyWidget"> <intent-filter > <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info"> //配置文件名 </meta-data> </receiver>
二、添加App Widget的配置信息
在/res/xml文件夹下创建一个widget_info.xml的配置文件:
<?xml version="1.0" encoding="UTF-8"?><appwidget-provider android:minWidth="294dp" android:minHeight="72dip" android:initialLayout="@layout/widget" xmlns:android="http://schemas.android.com/apk/res/android" />
三、添加App Widget布局
就是在桌面显示你widget的布局,和普通布局一样在/res/layout/创建widget.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal" android:layout_width="294dp"android:layout_height="72dp" android:background="@drawable/date_bg_gold"android:gravity="left|center_vertical"> <TextView android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/textName" android:textAppearance="?android:attr/textAppearanceLarge" android:gravity="center"> </TextView></LinearLayout>
四、添加App Widget的类
package com.lrx.xiao_media;import android.app.PendingIntent;import android.appwidget.AppWidgetManager;import android.appwidget.AppWidgetProvider;import android.content.Context;import android.content.Intent;import android.widget.RemoteViews;public class MyWidget extends AppWidgetProvider {@Overridepublic void onUpdate(Context context, AppWidgetManager appWidgetManager,int[] appWidgetIds) { RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget); String name = "进入我的Media"; remoteView.setTextViewText(R.id.textName, name); Intent intentClick = new Intent(context, MainActivity.class); //点击启动MainActivity PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intentClick, 0); remoteView.setOnClickPendingIntent(R.id.textName, pendingIntent); //点击监听 appWidgetManager.updateAppWidget(appWidgetIds, remoteView); }}
可见,创建一个widget其实很简单,比我们正常的Activity只多了一个配置文件,其中在类中getActivity可以换成getService启动一个Service,还需要注意的一点是刷新widget时间,属性android:updatePeriodMillis表示更新频率,单位毫秒,但是有时候不刷新是因为android为了省电小于30分钟的刷新都会默认最小30分钟,所以需要我们启动一个Service去刷新时间,记得最好单独起一个线程去控制时间。
0 0
- Android基础之App Widget创建
- Android App Widget创建步骤
- android开发之App widget
- android开发之APP Widget
- Android Widget之桌面组件App Widget案例
- android之App Widget开发实例
- Android之App Widget开发实例
- Android之桌面组件App Widget初探
- Android 开发之实时更新 App Widget
- Android控件,App Widget 之 RemoteViews
- Android 开发之实时更新 App Widget
- Android开发之App Widget(一)
- Android开发之App Widget(二)
- Android开发之App Widget(三)
- Android开发之App Widget(四)
- Android 开发之实时更新 App Widget
- Android App Widget初步
- android app widget
- DEDEcms首页调用单页内容
- 趣谈unicode,ansi,utf-8,unicode big endian这些编码有...
- 修改dede文章标题长度,dedecms默认…
- ThinkPHP-类库参考-Action类
- 封装thinkphp的增删改查
- Android基础之App Widget创建
- MVC是什么,分层是什么概念
- JS 验证码点击刷新
- 关于ThinkPHP中$this->success()或…
- 关于ThinkPHP3.1中的扩展函数库的…
- ubuntu ip设置
- VC++错误配置对应
- 初识Discuz(开山篇)
- MySQL单列索引和组合索引的选择效率与explain分析