您的位置:首页 > 移动开发 > Android开发

Android 桌面widget的简单实现

2017-01-09 09:43 411 查看

概述

由于要编写一个天气预报应用需要用到桌面widget配套使用,所以查了不少资料,终于知道了如何实现。
这是我找到的一个比较清晰的教程博文http://blog.csdn.net/dyllove98/article/details/9280847
这是效果图:




主要步骤:

添加一个继承AppWidgetProvider的子类。
新建一个res下的xml文件夹,添加xml文件(用于桌面widget布局的额外配置)
在manifests文件中注册AppWidgetProvider的子类,并添加widget布局文件(对,要在这里面添加)

1.继承AppWidgetProvider 的子类

import android.appwidget.AppWidgetProvider;

public class WidgetProvider extends AppWidgetProvider {

}

2.新建res下xml文件夹,并添加xml文件。



<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="110dp"
android:minHeight="110dp"
android:updatePeriodMillis="43200000"
android:initialLayout="@layout/activity_main"
android:widgetCategory="home_screen"
android:previewImage="@mipmap/ic_launcher"
>
<!--
android:minWidth : 最小宽度
android:minHeight : 最小高度
android:updatePeriodMillis : 更新widget的时间间隔(ms),"86400000"为1个小时
android:previewImage : 预览图片
android:initialLayout : 加载到桌面时对应的布局文件
android:resizeMode : widget可以被拉伸的方向。horizontal表示可以水平拉伸,vertical表示可以竖直拉伸
android:widgetCategory : widget可以被显示的位置。home_screen表示可以将widget添加到桌面,keyguard表示widget可以被添加到锁屏界面。
android:initialKeyguardLayout : 加载到锁屏界面时对应的布局文件
-->

</appwidget-provider>
这里的加载到桌面上的布局文件,我用的是和主activity的布局,可以另外新建一个替换掉就可以了。

3.manifests文件

<receiver android:name=".WidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />

</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/samplewidget" />
</receiver>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: