Android виджет переключателя изображений? - PullRequest
0 голосов
/ 27 февраля 2011

как использовать переключатель изображений в виджете?

мой код компилируется нормально, но при попытке создать виджет выдает ошибку:

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

мой код xml для моего imageswitcher: </p> <pre><code><ImageSwitcher android:id="@+id/image_switcher" android:layout_width="fill_parent" android:layout_height="fill_parent" />

и мой код для создания viewfactory:

    @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;
        }
    });
}

любая помощь будет принята с благодарностью.

спасибо

1 Ответ

1 голос
/ 27 февраля 2011

Я не думаю, что возможно использовать ImageSwitcher в AppWidget. В документации AppWidget (http://developer.android.com/guide/topics/appwidgets/index.html) перечислены семь типов виджетов, которые можно использовать при создании AppWidget. И ImageSwicher отсутствует в списке.

Лучше всего будет использовать FrameLayout или RelativeLayout с несколькими ImageView, расположенными друг над другом, а затем устанавливать их видимость по одному, пока не будет видно только текущее желаемое изображение.

...