其他分享
首页 > 其他分享> > android – EditText没有捕获ViewFlipper flings?

android – EditText没有捕获ViewFlipper flings?

作者:互联网

这令人抓狂.我有以下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是您需要声明并初始化您的活动的成员变量.

标签:gesture,viewflipper,android,android-edittext
来源: https://codeday.me/bug/20190827/1739541.html