使用Android开发小部件时,您似乎无法将自己的自定义View类添加到AppWidgetProvider。
例如,我创建了一个扩展View的自定义类,这在Activity中使用时效果很好,但是当我将它添加到Widget时,我得到一个“ClassNotFoundException”,因为Android似乎只允许一组特定的系统小部件加上。
我看到一些应用看起来像是自己创建了自定义小部件。例如,有一个在单击时显示径向菜单,显示应用程序快捷方式。这些是如何实施的?是否有使用我自己的自定义小部件的工作?他们似乎有一个画布,他们可以在小部件中绘制。
好的快速示例https://market.android.com/details?id=zombiesinthelab.widgets.droidpetwidget&feature=top-paid 所以这个小部件只是通过绘制ImageViews并定期更新它们而不是使用画布绘制框架来完成的?
答案 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