Галерея Android изменить одно изображение на слайде - PullRequest
0 голосов
/ 03 февраля 2012

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

Ответы [ 2 ]

1 голос
/ 05 июня 2012

Вам необходимо создать собственную галерею, которая расширяет класс галереи, а затем переопределить метод onfling. Вы можете сослаться на код ниже: пакет Hung.view; публичный класс CustomGallery расширяет галерею {

public CustomGallery(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
}

public CustomGallery(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    // TODO Auto-generated constructor stub
}

public CustomGallery(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
    // TODO Auto-generated method stub
    //return super.onFling(e1, e2, velocityX, velocityY);
    //return false ;
    int kEvent;
      if(isScrollingLeft(e1, e2)){ //Check if scrolling left
        kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
      }
      else{ //Otherwise scrolling right
        kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
      }
      onKeyDown(kEvent, null);
      return true;
}

 private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2){
     return e2.getX() > e1.getX();
  }

}

Последнее, в xml-файле макета вы заменяете галерею по умолчанию на пользовательскую галерею, пример:

    <hung.view.CustomGallery android:id="@+id/gallery"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:spacing="8px"
        android:clipToPadding="true"/>

Я надеюсь, что это полезно для вас. С наилучшими пожеланиями

0 голосов
/ 03 февраля 2012

Вы можете написать свой собственный eventListener для прокрутки события, где вы можете изменить изображение.

...