0

ウィジェットで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;
        }
    });
}

どんな助けでも強くいただければ幸いです。

ありがとうございました

4

1 に答える 1

1

AppWidget で ImageSwitcher を使用することはできないと思います。AppWidget のドキュメント (http://developer.android.com/guide/topics/appwidgets/index.html) には、AppWidget の構築時に使用できる 7 つのウィジェット タイプがリストされています。また、ImageSwicher はリストにありません。

おそらく最善の策は、複数の ImageView を積み重ねた FrameLayout または RelativeLayout を使用し、現在必要な画像のみが表示されるまで、それらの可視性を 1 つずつ設定することです。

于 2011-02-27T15:29:03.287 に答える