Android Widget——实现桌面小部件

本文介绍了如何在Android中开发桌面小部件,包括Widget的基本概念、使用RemoteViews进行界面更新、配置信息的设定、AppWidgetProvider的实现以及在AndroidManifest.xml中的声明。此外,还提到了可以通过服务实现小部件的实时刷新功能。
摘要由CSDN通过智能技术生成

前言

      在Android手机中,我们经常会看到各种桌面小部件,天气、音乐播放器、时间表盘等,这些都是桌面小部件的实例。本篇主要介绍桌面小部件开发的一些最基础的知识。

Widget介绍

      Widget并没有运行在我们App的进程中,而是运行在系统的SystemServer进程中。所以意味着我们也不能像在App中那样操作View控件。为了我们能在远程进程中更新界面,Google专门为我们提供了一个RemoteViews类。RemoteViews仅仅表示的是一个View结构。它可以在远程进程中展示和更新界面。
我们先列出要实现Widget的几个核心步骤:

  • widget页面布局
  • 小部件配置信息
  • 写小部件的实现类
  • 在AndroidManifest.xml中声明小部件

 

一.widget页面布局

这个是小部件的布局文件,和活动布局一样

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="WIDGET"
        android:textSize="25sp"
        android:textColor="#fff"
        android:background="#09c"
        />
</RelativeLayout>

 
注意事项是:Widget并不支持所有的控件跟布局,而仅仅只是支持Android布局和控件的一个子集
1、支持布局:FrameLayout,LinearLayout,RelativeLayout,GridLayout
2、支持控件:AnalogClock,Button,Chronometer,ImageButton,ImageView,ProgressBar,TextView,ViewFlipper,ListView,GridView,StackView,AdapterViewFlipper
 

二.定义小部件配置信息

配置信息主要是设定小部件的一些属性,比如宽高、缩放模式、更新时间间隔等。我们需要在res/xml目录下新建xml文件,文件名字可以任意取。文件内容如下(可做参考):

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minHeight="40dp"
    android:minWidth="40dp"
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值