【发布时间】:2011-04-22 05:05:55
【问题描述】:
我正在尝试实现一个 Android 主屏幕小部件。我很想知道为什么我应该使用 RemoteViews 来实现小部件?
【问题讨论】:
我正在尝试实现一个 Android 主屏幕小部件。我很想知道为什么我应该使用 RemoteViews 来实现小部件?
【问题讨论】:
如果您熟悉在 XML 中声明布局,则创建 App Widget 布局很简单。但是,您必须知道 App Widget 布局基于 RemoteViews,它不支持所有类型的布局或视图小部件。
RemoteViews 对象(因此,App Widget)可以支持以下布局类:
FrameLayout
LinearLayout
RelativeLayout
还有以下小部件类:
AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
不支持这些类的后代。
【讨论】:
大多数情况下,Widget 托管在另一个应用程序中,例如 Launcher,它在该父应用程序的进程中运行。
RemoteViews 描述了可以在另一个进程中显示的视图层次结构。层次结构是从一个布局资源文件中膨胀而来的,这个类提供了一些修改膨胀层次结构内容的基本操作。
这种选择背后的主要原因与安全性和性能有关。
【讨论】:
RemoteViews 用于应用小部件。它们是单独进程的一部分,但绑定到主进程,即为什么当我们单击小部件时,它会重定向到具有更详细信息的关联应用程序。
【讨论】: