Android桌面小部件与RemoteViews

本文介绍了Android桌面小部件的开发,包括定义小部件界面、配置信息、实现类和在AndroidManifest.xml中的声明。重点讲解了RemoteViews的使用,小部件的生命周期方法如onUpdate、onEnabled等,以及PendingIntent在小部件点击事件中的作用。同时,探讨了RemoteViews的内部机制,如其只支持特定类型的Layout和View,以及如何通过Action更新远程View。
摘要由CSDN通过智能技术生成

Android桌面小部件与RemoteViews

标签(空格分隔): Android


一、简介

  App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。
  小部件通过AppWidgetProvide来实现,AppWidgetProvide本质上是一个广播,在小部件的开发过程中会用到RemoteViews,因为小部件在更新界面时无法像在Activity中直接更新View,这是因为它的界面运行在其他进程中,确切来说是在系统的SystemServer进程中。为了跨进程更新界面,RemoteViews中提供一系列的set方法,并且这些方法只是View全部方法的子集,而且它支持的View类型也是有限的。

二、使用小部件

1.定义小部件界面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >
 <TextView
    android:id="@+id/tv_widget_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="点击更换内容"
    android:textSize="16sp"
   >
  <Button
    android:id="@+id/btn_widget_openactivityt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="点击打开MainActivity"
    android:textSize="16sp"
   >
</LinearLayout>
2.定义小部件配置信息

在res/xml/下新建一个appwidget_provide_info.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:initialLayout="@layout/widget"
    android:minHeight="84dp"
    android:minWidth="84dp"
    android:updatePeriodMillis="86400000"
   >
</appwidget-provider>

其中initialLayout-初始化布局,updatePeriodMillis-自动更新周期。

3.定义小部件的实现类
public class MyWidgetProvider extends AppWidgetProvider {
   

    public static final String TAG = "MyWidgetProvider";

    public static final String CLICK_ACTION = "com.gaop.HutHelper.action_click";

   @Override
    public void onReceive(Context cont
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值