android - EditText 没有捕捉到 ViewFlipper flings?

标签 android android-edittext gesture viewflipper

这真是令人抓狂。我有以下 XML 布局:

<FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/shadow" android:focusable="true" android:focusableInTouchMode="true">
    <ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent" android:layout_height="fill_parent">
        <EditText android:id="@+id/reviews" style="@style/DescriptionArea" android:layout_width="fill_parent" android:layout_height="wrap_content" android:enabled="false" android:background="@null" />
     <EditText android:id="@+id/notes" style="@style/DescriptionArea" android:hint="@string/detail_hint" android:layout_width="fill_parent" android:layout_height="wrap_content" android:enabled="false" android:maxLines="4"/>
    </ViewFlipper>
</FrameLayout>

还有 Java:

viewFlipper = (ViewFlipper)findViewById(R.id.flipper);
    slideLeftIn = AnimationUtils.loadAnimation(this, R.anim.slide_left_in);
    slideLeftOut = AnimationUtils.loadAnimation(this, R.anim.slide_left_out);
    slideRightIn = AnimationUtils.loadAnimation(this, R.anim.slide_right_in);
    slideRightOut = AnimationUtils.loadAnimation(this, R.anim.slide_right_out);

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

似乎如果我尝试在 EditText 区域的顶部猛击,手势不会注册。但是,如果我围绕 它,即 EditText 的背景,它确实有效。我试过使用 fill_parent/wrap_content 的高度和宽度,但它似乎没有任何改变。我已经证实了我将 EditText 背景设置为“红色”的怀疑,并注意到红色矩形内的任何内容都不能激活一闪而过。那么我该如何进行这项工作呢?

最佳答案

您可以覆盖 Activity 的 dispatchTouchEvent 方法:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    if (gestureDetector != null) {
        gestureDetector.onTouchEvent(ev);
    }
    return super.dispatchTouchEvent(ev);
}

显然,gestureDetector 是您需要在 Activity 中声明和初始化的成员变量。

关于android - EditText 没有捕捉到 ViewFlipper flings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3542065/

相关文章:

ios - 识别用户手指在 iPhone 屏幕上绘制的数字的最佳方法

javascript - 检测带有跳跃 Action 的滑动手势

android - 当我的 Android 设备不平时,我应该如何计算方位角、俯仰角和方向?

android - 从谷歌示例复制粘贴代码后 list 中的错误

android - ListView 全 View

android - 为 AlertDialog 提供自定义或透明背景

Android requestFocus() 跳过 edittext

android - IndexOutOfBoundsException setSpan (0 ... 1) 超出长度 0 结束

android - 如何检测按钮上的连续多次点击 - 就像android开发者选项

android - 将输入的值保存到 RecyclerView 的 EditTexts 中