android app窗口位置吗,Android开发中的窗口小部件App Widgets(2)

编程入门 行业动态 更新时间:2024-10-27 02:25:37

android app<a href=https://www.elefans.com/category/jswz/34/1771087.html style=窗口位置吗,Android开发中的窗口小部件App Widgets(2)"/>

android app窗口位置吗,Android开发中的窗口小部件App Widgets(2)

Widget开发有很多值得学习的地方,这里向大家简单介绍一下Android开发指南-窗口小部件App Widgets ,希望本文介绍对你有所帮助。

下面的章节描述了如何建立这些组件:

在清单中声明一个应用小部件

首先,在应用程序AndroidManifest.xml文件中声明AppWidgetProvider 类,比如:

复制到剪贴板  XML/HTML代码

android:resource="@xml/example_appwidget_info

"/>

元素需要Android:name属性,它指定了App Widget使用的AppWidgetProvider 。

元素必须包括一个含有android:name属性的元素。该元素指定AppWidgetProvider接受ACTION_APPWIDGET_UPDATE 广播。这是唯一你必须显式声明的广播。当需要的时候,AppWidgetManager 会自动发送所有其他App Widget广播给AppWidgetProvider。

元素指定了AppWidgetProviderInfo 资源并需要以下属性:

◆android:name – 指定元数据名称。

◆android:resource – 指定AppWidgetProviderInfo 资源路径。

增加AppWidgetProviderInfo元数据

AppWidgetProviderInfo定义一个App Widget的基本特性,比如最小布局尺寸,初始布局资源,刷新频率,以及(可选的)创建时加载的一个配置活动。使用单独的一个元素在XML资源里定义AppWidgetProviderInfo 对象并保存到项目的res/xml/目录下。

比如:

复制到剪贴板  XML/HTML代码

android:minWidth="294dp"

android:minHeight="72dp"

android:updatePeriodMillis="86400000"

android:initialLayout="@layout/example_appwidget"

android:configure="com.example.android.ExampleAppWidgetConfigure">

下面是属性的总结:

◆minWidth 和minHeight 属性的值指定了这个App Widget布局需要的最小区域。

缺省的App Widgets所在窗口的桌面位置基于有确切高度和宽度的单元网格。如果App Widget的最小长宽和这些网格单元的尺寸不匹配,那么这个App Widget将收缩到最接近的单元尺寸。(参见App Widget Design Guidelines 以获取更多关于桌面单元尺寸的信息)

因为桌面布局方向(由此,单元的尺寸)可以变化,按照拇指规则,你应该假设最坏情况单元尺寸是74像素高和宽。不过,你必须从最后的尺寸中减去2以把像素计算过程中产生的任何的整数舍入误差考虑在内。要找到像素密度无关的最小宽度和高度,使用这个公式:

(number of cells * 74) - 2

遵循这个公式,你应该使用72dp为每一个单元高度,294dp为四个单元宽度。

◆updatePerdiodMillis 属性定义了App Widget框架调用onUpdate()方法来从AppWidgetProvider请求一次更新的频度。实际更新时间并不那么精确,而且我们建议更新频率越低越好-也许每小时不超过一次以节省电源。你也许还会允许用户在配置中调整这个频率-一些人可能想每15分钟一次股票报价,或者一天只要四次。

◆initialLayout属性指向定义App Widget布局的资源。

◆configure属性定义了Activity ,当用户添加App Widget时启动,以为他或她配置App Widget特性。这是可选的(阅读下面的Creating an App Widget Configuration Activity)。

参见AppWidgetProviderInfo 类以获取更多可以被元素接受的属性信息。

创建App Widget开发布局

你必须在XML中为你的App Widget定义一个初始布局并保存到项目的res/layout/ 目录下。你可以使用如下所列的视图对象来设计你的App Widget,但是在此之前,请先阅读并理解App Widget Design Guidelines.

如果你熟悉在XML中声明布局,那么创建这个App Widget布局是很简单的。但是,你必须意识到那个App Widget布局是基于RemoteViews, 这并不支持所有类型的布局或视图小部件。

一个RemoteViews对象(以及,相应的,一个App Widget)可以支持下面这个布局类:

以及下面的小部件类:

◆FrameLayout

◆LinearLayout

◆RelativeLayout

◆AnalogClock

◆Button

◆Chronometer

◆ImageButton

◆ImageView

◆ProgressBar

◆TextView

不支持这些类的派生。

更多推荐

android app窗口位置吗,Android开发中的窗口小部件App Widgets(2)

本文发布于:2024-02-11 10:56:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1680618.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:窗口   部件   位置   app   android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!