我可以在appWidget中使用哪些视图?

时间:2010-01-10 17:05:40

标签: android

有人能告诉我在appWidget中可以使用哪些观点吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

根据official android API

RemoteViews对象(以及App Widget)可以支持以下布局类:

  
      
  • 的FrameLayout
  •   
  • 的LinearLayout
  •   
  • RelativeLayout的
  •   
  • GridLayout的
  •   
     

以下小部件类:

     
      
  • AnalogClock
  •   
  • 按钮
  •   
  • 精密计时
  •   
  • 的ImageButton
  •   
  • ImageView的
  •   
  • 进度
  •   
  • 的TextView
  •   
  • ViewFlipper
  •   
  • 的ListView
  •   
  • GridView的
  •   
  • StackView
  •   
  • AdapterViewFlipper
  •   
     

不支持这些类的后代。

     

RemoteViews还支持ViewStub,它是一个不可见的,零大小的视图,可用于在运行时懒惰地夸大布局资源。

同样从android 3.0开始,支持下一个观看次数:

  
      
  • ListView - 显示垂直滚动列表中的项目的视图。有关示例,请参阅Gmail应用小部件。
  •   
  • GridView - 显示二维滚动网格中的项目的视图。有关示例,请参阅“书签”应用小部件。
  •   
  • StackView - 堆叠卡片视图(有点像rolodex),用户可以向上/向下轻弹前卡以查看上一张/下一张卡片,   分别。示例包括YouTube和图书应用小部件。
  •   
  • AdapterViewFlipper - 适配器支持的简单ViewAnimator,可在两个或多个视图之间设置动画。一次只能展示一个孩子。
  •   

答案 1 :(得分:3)

请参阅Android开发者网站上的app widgets article,以获取可在窗口小部件中使用的布局和视图的列表。

答案 2 :(得分:0)

克里斯托弗提供的这份清单在技术上是正确的,但并不完整。尽管可以使用这些布局和视图,但是无法调用许多(大多数?)演示方法。例如,如果您尝试以编程方式更改其中一个受支持的窗口小部件(TextView)的背景颜色,您将收到运行时错误:

WARN / AppWidgetHostView(606):android.widget.RemoteViews $ ActionException:view:android.widget.TextView无法使用RemoteViews方法:setBackgroundColor(int)

我还没有看到关于支持和不支持的确切列表。 android-dev列表在主题上看到了一些线程(onetwo),但不多了。 work-arounds并不是那么好。