android 定制有关电影院的座位或体育馆场馆运动的场地选择的实现(补充)

</pre><pre name="code" class="html">
class GestureListener extends GestureDetector.SimpleOnGestureListener {
	private SSView mSsView;

	GestureListener(SSView paramSSView) {
		mSsView = paramSSView;
	}

	public boolean onDoubleTap(MotionEvent paramMotionEvent) {
		return super.onDoubleTap(paramMotionEvent);
	}

	public boolean onDoubleTapEvent(MotionEvent paramMotionEvent) {
		return super.onDoubleTapEvent(paramMotionEvent);
	}

	public boolean onDown(MotionEvent paramMotionEvent) {
		return false;
	}

	public boolean onFling(MotionEvent paramMotionEvent1,
			MotionEvent paramMotionEvent2, float paramFloat1, float paramFloat2) {
		return false;
	}

	public void onLongPress(MotionEvent paramMotionEvent) {
	}

	public boolean onScroll(MotionEvent paramMotionEvent1,
			MotionEvent paramMotionEvent2, float x_scroll_distance, float y_scroll_distance) {
		//是否能够移动和点击
		if(!SSView.a(mSsView)){
			return false;
		}
		//显示缩略图
		SSView.a(mSsView,true);
		boolean bool1 = true;
		boolean bool2 = true;
		if ((SSView.s(mSsView) < mSsView.getMeasuredWidth())
				&& (0.0F == SSView.v(mSsView))){
			bool1 = false;
		}
		
		if ((SSView.u(mSsView) < mSsView.getMeasuredHeight())
				&& (0.0F == SSView.w(mSsView))){
			bool2  = false;
		}
		
		if(bool1){
			int k = Math.round(x_scroll_distance);
			//修改排数x轴的偏移量
			SSView.c(mSsView, (float)k);
			//修改座位距离排数的横向距离
			SSView.k(mSsView, k);
			if (SSView.r(mSsView) < 0) {
				//滑到最左
				SSView.i(mSsView, 0);
				SSView.a(mSsView, 0.0F);
			}
			
			if(SSView.r(mSsView) + mSsView.getMeasuredWidth() > SSView.s(mSsView)){
				//滑到最右
				SSView.i(mSsView, SSView.s(mSsView) - mSsView.getMeasuredWidth());
				SSView.a(mSsView, (float)(mSsView.getMeasuredWidth() - SSView.s(mSsView)));
			}
		}
		
		if(bool2){
			//上负下正- 往下滑则减
			int j = Math.round(y_scroll_distance);
			//修改排数y轴的偏移量
			SSView.d(mSsView, (float)j);
			//修改可视座位距离顶端的距离
			SSView.l(mSsView, j);
			Log.i("TAG", SSView.t(mSsView)+"");
			if (SSView.t(mSsView) < 0){
				//滑到顶
				SSView.j(mSsView, 0);
				SSView.b(mSsView, 0.0F);
			}
			
			 if (SSView.t(mSsView) + mSsView.getMeasuredHeight() > SSView
						.u(mSsView)){
				//滑到底
					SSView.j(mSsView, SSView.u(mSsView) - mSsView.getMeasuredHeight());
					SSView.b(mSsView, (float)(mSsView.getMeasuredHeight() - SSView.u(mSsView)));
			 }
		}
		
		mSsView.invalidate();
		
		return false;
	}

	public void onShowPress(MotionEvent paramMotionEvent) {
	}

	public boolean onSingleTapConfirmed(MotionEvent paramMotionEvent) {
		return false;
	}

	public boolean onSingleTapUp(MotionEvent paramMotionEvent) {

		//列数
		int i = SSView.a(mSsView, (int)paramMotionEvent.getX());
		//排数
		int j = SSView.b(mSsView, (int) paramMotionEvent.getY());
	
		if((j>=0 && j< SSView.b(mSsView).size())){
			if(i>=0 && i<((ArrayList<Integer>)(SSView.b(mSsView).get(j))).size()){
				ArrayList<Integer> localArrayList = (ArrayList<Integer>) SSView.b(mSsView).get(j);
				switch (localArrayList.get(i).intValue()) {
				case 3://已选中
					localArrayList.set(i, Integer.valueOf(1));
					if(SSView.d(mSsView)!=null){
						SSView.d(mSsView).a(i, j, false);
					}
					break;
				case 1://可选
					localArrayList.set(i, Integer.valueOf(3));
					if(SSView.d(mSsView)!=null){
						SSView.d(mSsView).b(i, j, false);
					}
					break;
				default:
					break;
				}
				
			}
		}
		//显示缩略图
		SSView.a(mSsView,true);
		mSsView.invalidate();
		return false;
	}
}
</pre><pre name="code" class="html">
public abstract interface OnSeatClickListener
{

  public abstract boolean a(int paramInt1, int paramInt2, boolean paramBoolean);

  public abstract boolean b(int paramInt1, int paramInt2, boolean paramBoolean);
}