您的位置:首页 > 移动开发 > Android开发

Android手势滑动事件

2014-04-30 16:25 387 查看
手机进入智能时代,手机屏幕的滑动成为人们每天操作手机的必然操作方式。android 手机中的操作是什么样的呢,下面我们来看一下。

public class TankOneActivity extends BaseActivity implements OnTouchListener,
OnGestureListener, OnClickListener {

GestureDetector mGestureDetector;
private int verticalMinDistance = 20;
private int minVelocity = 0;

ImageView imageView;
float start;
float end;
int i = 0;

/*** 底部按钮 ***/
Button btn_dizuo;

@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tankone_layout);

mGestureDetector = new GestureDetector((OnGestureListener) this);

initui();
}

/**
* 初始化控件
*/
private void initui() {
// TODO Auto-generated method stub
imageView = (ImageView) findViewById(R.id.tank_img);
imageView.setBackgroundResource(ImageUtils.img[0]); // 显示第一长图片
imageView.setOnTouchListener(this);
imageView.setLongClickable(true);

btn_dizuo = (Button) findViewById(R.id.btn_one);
btn_dizuo.setOnClickListener(this);
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v == btn_dizuo) {
ToActivityPushDown(DiZuoActivity.class, null);
}
}

@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
start = e.getX();
return false;
}

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
return false;
}

@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub

}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub

if (e1.getX() - e2.getX() > verticalMinDistance
&& Math.abs(distanceX) > minVelocity) {
end = e2.getX();

if (start - end > 0) {
if (i >= 0 && i < ImageUtils.img.length - 1) {
i++;
imageView.setBackgroundResource(ImageUtils.img[i]);

}
start = end;
if (i == 80) {
i = 0;
}

}
} else if (e2.getX() - e1.getX() > verticalMinDistance
&& Math.abs(distanceX) > minVelocity) {
// System.out.println("向右滑动");

end = e2.getX();

if (end - start > 0) {
if (i > 0 && i <= ImageUtils.img.length - 1) {
i--;
imageView.setBackgroundResource(ImageUtils.img[i]);
}
start = end;
if (i == 0) {
i = 80;
}
}
}

return false;
}

@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub

}

@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return mGestureDetector.onTouchEvent(event);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: