相关疑难解决方法(0)

网格布局上的手势检测

我想fling在我的Android应用程序中运行手势检测.

我拥有的是GridLayout包含9 ImageView秒的内容.源代码可以在这里找到:Romain Guys的网格布局.

我拿的那个文件来自Romain Guy的Photostream应用程序,并且只是略微适应了.

对于简单的点击情况,我只需要onClickListenerImageView我添加的每一个设置为activity实现的主要部分View.OnClickListener.实现识别a的东西似乎无比复杂fling.我认为这是因为它可能跨越views

  • 如果我的活动实现, OnGestureListener我不知道如何将其设置为我添加GridImage视图或视图的手势监听器.

    public class SelectFilterActivity extends Activity implements
       View.OnClickListener, OnGestureListener { ...
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果我的活动实现, OnTouchListener那么我没有 onFling方法override(它有两个事件作为参数,允许我确定是否值得注意).

    public class SelectFilterActivity extends Activity implements
        View.OnClickListener, OnTouchListener { ...
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果我做了一个自定义View,就像GestureImageView那个扩展ImageView我不知道如何告诉活动fling从视图中发生了.无论如何,我试过这个,当我触摸屏幕时没有调用方法.

我真的只需要一个跨视图的具体例子.什么,何时以及如何附上这个listener?我还需要能够检测单击.

// Gesture detection
mGestureDetector = new …
Run Code Online (Sandbox Code Playgroud)

android listener gesture-recognition

1076
推荐指数
16
解决办法
40万
查看次数

无法使ViewFlipper中的ScrollView上的水平投掷冒泡

我在ViewFlipper中有一个垂直的ScrollView(实际上是一个自定义的ScrollView,代码如下).除非我在ScrollView上水平滑动以翻转到上一个/下一个视图,否则ViewFlipper工作正常.ScrollView本身可以正常工作.

这是设计.绿色框是ScrollView,它应该是垂直的.

在此输入图像描述

这是ScrollView:

public class SCScrollView extends ScrollView {

    private float xDistance, yDistance, lastX, lastY;

    GestureDetector gestureDetector = new GestureDetector(new MyGestureDetector());
    OnTouchListener gestureListener;

    public SCScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);

        gestureListener = new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (gestureDetector.onTouchEvent(event)) {
                    return true;
                }
                return false;
            }    
        };

    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
                xDistance = yDistance = 0f;
                lastX = ev.getX();
                lastY = ev.getY();
                break;
            case MotionEvent.ACTION_MOVE: …
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
1
解决办法
6457
查看次数

ScrollView和Gallery干扰

我有一个由许多ScrollView组成的Gallery,每个ScrollView占据整个屏幕.问题是ScrollViews的onTouchEvent返回true,因此阻止DOM中的任何其他视图处理相同的事件(在ScrollView级别处理后被吞下).因此,Gallery不再滚动.另一方面,如果我像这样重写onTouchEvent:

   @Override
   public boolean onTouchEvent(MotionEvent ev) {
      super.onTouchEvent(ev);
      return false; // <<<<<<<<<<<<<<<<<
   }   
Run Code Online (Sandbox Code Playgroud)

然后Gallery接收其on事件进行处理,但SrollView不再滚动.无论哪种方式,你输了!或者你呢?

问题听起来很令人费解,但我相信如果你在过去偶然发现它会立即认出它,因为它是一个非常可怕的人!

谢谢

android

5
推荐指数
2
解决办法
6942
查看次数

标签 统计

android ×3

gesture-recognition ×1

listener ×1