AList设计

需求:需要一个类似ListView上下活动的效果的AList控件

分析:

1.先研究了下ListView,继承自AbsListView

onTouchEvent

通过对mTouchMode的跳转来实现各个功能。

通过VelocityTracker来计算挥动后的加速度

VelocityTracker简介


    private static final boolean DEBUG = !false;
    private static final String TAG = "AList";
    
	/** 短按间隔 */
	private static final int TAP_TIMEOUT = 100;
	/** 长按间隔 */
	private static final int LONG_PRESS_TIMEOUT = 500;
    /**
     * 手势定义
     */
	private enum TouchMode {
		TOUCH_MODE_REST, 			// 空闲
		TOUCH_MODE_DOWN, 			// 按下
		TOUCH_MODE_TAP, 			// 短按
		TOUCH_MODE_LONG_PRESS,		// 长按
		TOUCH_MODE_DONE_WAITING, 	// 等待
		TOUCH_MODE_SCROLL, 			// 滚动
		TOUCH_MODE_FLING, 			// 挥动
	}
    private TouchMode mTouchMode = TouchMode.TOUCH_MODE_REST;
    
    private OnItemClickListener mOnItemClickListener;    

	public void setOnItemClickListener(OnItemClickListener listener) {
		mOnItemClickListener = listener;
	}

	public interface OnItemClickListener {
		void onItemClick(AList list, int position, long id);
	}


你可能感兴趣的:(ListView,String,list,REST,interface,scroll)