java - 触摸方向

标签 java android gridview touch

我有一个 GirdView 和一个 onTouchListener,我想知道当有人在屏幕上滑动手指时的方向,我可以轻松地左右移动, 但我也想爬上爬下。

但我的问题是..

float currentX;
        float currentY;

        @Override
        public boolean onTouch(View v, MotionEvent event) {
                float x = event.getX();
                float y = event.getY();

                switch(event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    Log.d("Showpatch", "Down Triggered " + x + ", " + y);
                    currentX = x;
                    currentY = y;
                    break;

                case MotionEvent.ACTION_UP:
                    Log.d("Showpatch", "Up Triggered" + x + ", " + y);

                    Log.d("Showpatch", "Testing Left... " + x + ", " + y);
                    if (currentX > x) {
                        Log.d("Showpatch", "Moved Left");
                        return false;
                    }

                    Log.d("Showpatch", "Testing Right... " + x + ", " + y);
                    if (currentX < x) {
                        Log.d("Showpatch", "Moved Right");
                        return false;
                    }

                    Log.d("Showpatch", "Testing Down... " + x + ", " + y);
                    if (currentY < y) {
                        Log.d("Showpatch", "Moved Down");
                        return false;
                    }

                    Log.d("Showpatch", "Testing Up... " + x + ", " + y);
                    if (currentY < y) {
                        Log.d("Showpatch", "Moved Up");
                        return false;
                    }

                    break;
                }


            return false;
        }

正如我所说,它可以毫无问题地向左和向右移动,但它永远不会检测到向上或向下,因为它在到达向上/向下语句之前会触发向左/向右,除非您将手指准确地向上和向下移动它不会工作...

有没有办法让用户向上或向下滑动到哪里?

非常感谢任何帮助,谢谢。

最佳答案

我相信 Gesture Listener 可以帮助你,它是在 1.6 中引入的

http://developer.android.com/resources/articles/gestures.html

干杯 托拜厄斯

关于java - 触摸方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6398880/

相关文章:

java - 如何检查数组中的复选框是否为空?

java - 数组方法没有输入时如何返回值?

java - 无法发送事件错误

android - 如何在 Galaxy Tab 中使用 Intent 捕获视频?

c# - 将 GridView 中 HiddenField 的值设置为新的 GUID

c# - 使用按钮从 GridView 和数据库中删除记录

java - Azure Blob 存储 Java SDK 12 从 Blob 名称中提取文件名

java - Java应用程序将无法播放声音

android - 在android中调用按键事件?

c# - GridView - 使用 javascript 更改网格数据行中控件的页脚