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