Вам необходимо создать собственную галерею, которая расширяет класс галереи, а затем переопределить метод 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"/>
Я надеюсь, что это полезно для вас.
С наилучшими пожеланиями