EditText的滑动事件冲突问题

本文介绍了一种在ScrollView中使用EditText时避免滑动冲突的简单方法,通过设置OnTouchListener来拦截并处理滑动事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文移至:http://blog.youkuaiyun.com/jsmeli/article/details/73248836 请移步查看!

本人也就是分享一些自己遇到的问题,需求是在ScrollView放一个可以华东的EditText,并且这个EditText可以滑动,这样很多人会想到自定义EditText,自己重写dispatch方法,拦截滑动事件,并且自行处理,思路可以说是这样的,但是如果是自定义一个就有点麻烦了,在这里给大家提供一种简单的方法,大家可以以备不时之需。

//EditText的滑动事件屏蔽
EditText editText = (EditText)findViewById(R.id.edittext);
editText.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent event) {
        // TODO Auto-generated method stub
        if (view.getId() == R.id.edittext) {
            view.getParent().requestDisallowInterceptTouchEvent(true);
            switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
            }
        }
        return false;
    }
});
其实原理大家都明白  很简单 通过比较滑动区域 来判断滑动事件是谁的 从而返回滑动事件的滑动处理。
这样不仅不需要自定义EditText 而且完美的解决了滑动事件的冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值