在做项目时,用Gallery展示图片,遇到一个问题,就是滑动太快,每次轻轻一拨图片,就滑动过去几张,怎么解决呢?搜索之后,有了下面的解决方法:
1、自定义Gallery重写onFling方法
public class UGallery extends Gallery { public UGallery(Context context, AttributeSet attrs) { super(context, attrs); } private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2) { return e2.getX() > e1.getX(); } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { int keyCode; if (isScrollingLeft(e1, e2)) { keyCode = KeyEvent.KEYCODE_DPAD_LEFT; } else { keyCode = KeyEvent.KEYCODE_DPAD_RIGHT; } onKeyDown(keyCode, null); return true; } }
2、在布局文件中使用自定义com.soft.userctrl.UGallery
<com.soft.userctrl.UGallery android:layout_width="fill_parent" android:spacing="50dip" android:layout_height="fill_parent" android:id="@+id/isMain"> </com.soft.userctrl.UGallery>
3、在代码中像使用Gallery一样使用UGallery,即可