Как использовать ImageSwitcher без галереи - PullRequest
5 голосов
/ 09 февраля 2010

Рассматривая пример ApiDemos в Android (1.5) SDK, можно найти прекрасный пример использования ImageSwitcher с объектом Gallery для предоставления действий «изменить изображение».

Приложение, которое я собираюсь написать, начиная с разработки под Android, содержит три изображения, которые я хочу иметь для панорамирования / прокрутки, поэтому ImageSwitcher выглядит как отличное решение. Однако я не хочу, чтобы миниатюры были в галерее. Я хочу, чтобы действие смахивания и / или кнопка вызывали прокрутку к предыдущему / следующему изображению в наборе.

Пример ImageSwitcher в ApiDemos использует галерею, и без этой галереи ничего не делает.

Если у кого-то есть предложение связать какой-либо контроллер кнопок или объект U / I, я был бы признателен за указатель.

Извините, что задал такой вопрос уровня новичка.

Спасибо.

1 Ответ

1 голос
/ 03 декабря 2011

Вы можете использовать это так:

  public class GalleryActivity extends Activity implements ViewFactory{    
    /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.gallery);        

        iSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher1);
        iSwitcher.setFactory(this);
        iSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
                android.R.anim.fade_in));
        iSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
                android.R.anim.fade_out));

        iSwitcher.setImageDrawable(fetchImage(mImageURLS[0]));

        iSwitcher.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                // CLICK HANDLER
                // Change image like: 
                // iSwitcher.setImageDrawable(fetchImage(mImageURLS[1]));
            }
        });
   }

    @Override
    public View makeView() {
        ImageView iView = new ImageView(this);
        iView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        iView.setLayoutParams(new 
                ImageSwitcher.LayoutParams(
                        LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
        iView.setBackgroundColor(0xFF000000);
        return iView;
    }
}

fetchImage(mImageURLS[0]) возвращает Drawable объект

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...