2010-07-06 88 views
3

在Android的开始屏幕上,Android API用于在左侧还是右侧滚动Android?在开始屏幕上使用的Android手势

+0

或许,如果你解释什么是你要完成你的赏金将得到满足。通过“开始屏幕”,我假设你的意思是Launcher,它的来源是免费的。如果这不能提供您正在寻找的答案,请考虑解释您所寻找的是什么。 – mbafford 2010-07-14 13:37:51

回答

5

最简单的方法是通过检测“Fling”手势。 android API有一个内置的检测器,用于基本手势,如抛掷,滚动,长按,双击,缩放等。

该文档可从http://developer.android.com/reference/android/view/GestureDetector.html获取。

你要做的是创建一个GestureDetector的实例,覆盖你感兴趣检测手势的视图的onTouchEvent方法,并将MotionEvent传递给GestureDetector。

您还必须提供一个OnGestureListener实现(最简单地将SimpleOnGestureListener扩展)到GestureDetector并且将处理所有的手势事件。

例子:

class MyView extends View 
{ 
    GestureDetector mGestureDetect; 

    public MyView(Context context) 
    { 
     super(context); 
     mGestureDetect = new GestureDetector(new SimpleOnGestureListener() 
     { 

     @Override 
     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 
     { 
     //check if the fling was in the direction you were interested in 
     if(e1.getX() - e2.getX() > 0) 
     { 
     //Do something here 
     } 
     //fast enough? 
     if(velocityX > 50) 
     { 
     //etc etc 
     } 

     return true; 
     } 
     } 
    } 

    public boolean onTouchEvent(MotionEvent ev) 
    { 
     mGestureDetector.onTocuhEvent(ev); 
     return true; 
    } 
} 
1

您正在寻找GestureLibraries班。详细了解它here

我没有这个使用自己,所以我不能给你更多的信息,但这些也可能是有用的:

Android MotionEvent

Android - Basic Gesture Detection

+0

这意味着我必须基本上创建自己的手势,并且已经没有固定的左右手势了吗? 该手势甚至适用于Android 1.5手机的开始屏幕,而链接到的类是在Android 1.6中引入的。 – Christian 2010-07-06 16:56:21

+0

@Christian你不必为一个简单的事情构建一个复杂的手势就像一个投掷。有像这样的常见类型的快速课程。 – CodeFusionMobile 2010-07-13 19:26:39

相关问题