你如何制作自定义小部件?

时间:2011-04-04 09:18:42

标签: java android android-widget

使用Android开发小部件时,您似乎无法将自己的自定义View类添加到AppWidgetProvider。

例如,我创建了一个扩展View的自定义类,这在Activity中使用时效果很好,但是当我将它添加到Widget时,我得到一个“ClassNotFoundException”,因为Android似乎只允许一组特定的系统小部件加上。

我看到一些应用看起来像是自己创建了自定义小部件。例如,有一个在单击时显示径向菜单,显示应用程序快捷方式。这些是如何实施的?是否有使用我自己的自定义小部件的工作?他们似乎有一个画布,他们可以在小部件中绘制。

好的快速示例https://market.android.com/details?id=zombiesinthelab.widgets.droidpetwidget&feature=top-paid 所以这个小部件只是通过绘制ImageViews并定期更新它们而不是使用画布绘制框架来完成的?

2 个答案:

答案 0 :(得分:7)

Android小部件只能包含RemoteViews支持的Layout-Widgets。见this list

  

RemoteViews对象(和,   因此,一个App Widget)可以   支持以下布局类:

FrameLayout
LinearLayout
RelativeLayout
     

以下小部件类:

AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
     

<强>&GT;这些课程的后代不是   支撑。

注意最后一句话。你不能改变这种行为,它在android中是硬编码的。

答案 1 :(得分:1)

我对如何创建小部件并不太了解,但是以下链接肯定可以帮助您:

1)http://developer.android.com/guide/topics/appwidgets/index.html

2)http://developer.android.com/guide/practices/ui_guidelines/widget_design.html