Gallery去除慣性、半屏翻頁

問題描述:

有時候,我們不需要Gallery的慣性,如何去掉Gallery的慣性?


解決方法:

通過繼承Gallery,並重寫一些方法,自定義Gallery特性。


import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.widget.Gallery;

public class DetailGallery extends Gallery {

	public DetailGallery(Context context, AttributeSet attrSet) {
		super(context, attrSet);
	}

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


注意,在xml文件中,使用自定義的DetailGallery代替默認的Gallery。

發佈了43 篇原創文章 · 獲贊 0 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章