Android手势操作示例(上/下/左/右的判断)
本文实例讲述了Android手势操作方法。分享给大家供大家参考,具体如下:
Android中提供了判断手势的接口,所以我们可以根据提供的API来实现各种各样的手势功能来提高手机应用的用户体验。
下面是我写的一段小Demo:
GestureActivity.Java
publicclassGestureActivityextendsActivity{
privateGestureDetectorgestureDetector;
privateScreenscreen;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gestureDetector=newGestureDetector(this,onGestureListener);
//得到屏幕的大小
screen=GestureUtils.getScreenPix(this);
}
@Override
publicbooleanonTouchEvent(MotionEventevent){
returngestureDetector.onTouchEvent(event);
}
GestureDetector.OnGestureListeneronGestureListener=newGestureDetector.SimpleOnGestureListener(){
@Override
publicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX,
floatvelocityY){
floatx=e2.getX()-e1.getX();
floaty=e2.getY()-e1.getY();
//限制必须得划过屏幕的1/3才能算划过
floatx_limit=screen.widthPixels/3;
floaty_limit=screen.heightPixels/3;
floatx_abs=Math.abs(x);
floaty_abs=Math.abs(y);
if(x_abs>=y_abs){
//gestureleftorright
if(x>x_limit||x<-x_limit){
if(x>0){
//right
show("right");
}elseif(x
//left
show("left");
}
}
}else{
//gesturedownorup
if(y>y_limit||y<-y_limit){
if(y>0){
//down
show("down");
}elseif(y
//up
show("up");
}
}
}
returntrue;
}
};
privatevoidshow(Stringvalue){
Toast.makeText(this,value,Toast.LENGTH_SHORT).show();
}
}
GestureUtils.java
publicclassGestureUtils{
//获取屏幕的大小
publicstaticScreengetScreenPix(Contextcontext){
DisplayMetricsdm=newDisplayMetrics();
WindowManagerwindowManager=(WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(dm);
returnnewScreen(dm.widthPixels,dm.heightPixels);
}
publicstaticclassScreen{
publicintwidthPixels;
publicintheightPixels;
publicScreen(){
}
publicScreen(intwidthPixels,intheightPixels){
this.widthPixels=widthPixels;
this.heightPixels=heightPixels;
}
@Override
publicStringtoString(){
return"("+widthPixels+","+heightPixels+")";
}
}
}
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。