如何在小部件中使用imageswitcher?
我的代码编译得很好,但是当我尝试创建我的小部件时,它给出了一个错误:
Error inflating AppWidget AppWidgetProviderInfo(provider=ComponentInfo{test.basic/test.basic.HelloWorldWidget}): android.view.InflateException: Binary XML file line #5: Error inflating class android.widget.ImageSwitcher
我的imageswitcher的xml代码是:
<ImageSwitcher android:id="@+id/image_switcher"
android:layout_width="fill_parent" android:layout_height="fill_parent" />
我创建视图工厂的代码是:
@Override
public void onEnabled(final Context context) {
readImages(context);
ImageSwitcher imageSwitcher = getImageSwitcher(context);
imageSwitcher.setFactory(new ViewFactory() {
public View makeView() {
ImageView imageView = new ImageView(context);
imageView.setBackgroundColor(0xFF000000);
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
return imageView;
}
});
}任何帮助都将不胜感激。
谢谢
发布于 2011-02-27 23:29:03
我认为在AppWidget中使用ImageSwitcher是不可能的。AppWidget文档(http://developer.android.com/guide/topics/appwidgets/index.html)列出了构建AppWidget时可能使用的七种小部件类型。而且ImageSwicher不在名单上。
最好的办法可能是使用一个FrameLayout或一个RelativeLayout,将多个ImageView堆叠在一起,然后一个接一个地设置它们的可见性,直到只有当前所需的图像可见。
https://stackoverflow.com/questions/5132216
复制相似问题