SeekBar和Viewpager冲突

Android  2020年6月23日 pm12:05发布4年前 (2020)更新 城堡大人
108 0 0

Android开发中滑动冲突非常常见,基本是是嵌套时出现触摸事件被拦截或者无法传递到。

比如SeekBarViewpager,SeekBar和ListView等下面是的内容是摘抄于《SeekBar和Viewpager的滑动冲突的解决办法(其他滑动冲突可参考)》的方法,当然我也百度和谷歌过其他的答案,但是这个答案比较简单,因此摘抄于此。

SeekBar和Viewpager的滑动冲突

SeekBar放在其他视图中,手指放在 SeekBar 上面不会立即触发滑动操作,要滑动一段距离或者松开手指才行。

解决方法

在自定义的Seekbar中onTouchEvent中拦截处理,具体代码如下。

public class DomesticSeekDog extends SeekBar {
    public DomesticSeekDog(Context context) {
        this(context, null);
    }

    public DomesticSeekDog(Context context, AttributeSet attrs) {
        this(context, attrs, R.attr.seekBarStyle);
    }

    public DomesticSeekDog(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //设置父容器不拦截事件
        getParent().requestDisallowInterceptTouchEvent(true);
        //SeekBar 放在其他视图中,手指放在 SeekBar 上面不会立即触发滑动操作,
        //要滑动一段距离或者松开手指才行
        //测试过,添加如下代码滑动更流畅
        if(event.getAction()==MotionEvent.ACTION_DOWN){
            MotionEvent evup = MotionEvent.obtain(event);
            evup.setAction(MotionEvent.ACTION_MOVE);
            dispatchTouchEvent(evup);
            evup.recycle();
        }
        return super.onTouchEvent(event);
    }
}

来源

  1. SeekBar和Viewpager的滑动冲突的解决办法(其他滑动冲突可参考)

 历史上的今天

  1. 2024: 朱自清:看花(0条评论)
  2. 2022: Java的反射简介(0条评论)
  3. 2021: IjkPlayer和MediaPlayer常见错误码(0条评论)
  4. 2021: 老舍:春风(0条评论)
  5. 2019: 朱自清:背影(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

鲁迅:两地书(节选)

广平兄:仿佛记得收到来信有好几天了,但是今天才能写回信。“一步步的现在过去”,自然可以比较的不为环境所苦,但“现在的我”中,既然“含有原来的我”,而这“我”又有不满于时代环境之心,则苦痛也依然相续。不过能够随遇而安——即有船坐船云云——则比起幻想太多的人们来,可以稍为安稳,能够敷衍下去而已。总之,...

Android悬浮球

前言上次介绍过创建一个《1像素的悬浮窗口》,这里需要做一个跟魅族一样的悬浮球,部分代码套用之前的。设计悬浮球时考虑全屏和非全屏,以及导航栏在左侧或底部情况等,要不然拖动时存在抖动问题。正文直接入正文,上代码片段。隐藏内容!付费阅读后才能查看!¥3 ¥6多个隐藏块只需支付一次付费阅读...

Android广播在子线程中运行

前言Android中,为了不让主线程阻塞,广播接收器在一些耗时或频繁的任务,可以考虑让其在子线程中运行,当需要刷新UI是才运行在主线程。。记录于此方便自己查阅。正文隐藏内容!付费阅读后才能查看!¥1 ¥3多个隐藏块只需支付一次付费阅读

严歌苓:读书是生命的另一种存在

一、我关于阅读与写作的记忆我出生在一个书香家庭,父亲虽是作家,但他很少用自己的文学理念影响我。在我的生活学习中,父亲就是一个很客观的教师,是我一生中最好的文学伴侣,最好的交流文学的朋友。父亲常与我沟通他最近读的好书,也会建议我去读。每天早上不管多忙,我都要拿出一小时与父亲喝咖啡,然后谈一谈我最近...

Android系统签名转换为keystore

为啥需要keystore通常,我们在做系统用户开发时,需要给应用加上系统签名,使其拥有系统权限,签名方式可以使用系统源码中的platform.pk8、platform.x509.pem、signapk.jar对应用签名。PS:参考之前的文章《利用signapk.jar工具对apk文件进行签名》...

AS无法创建aidl文件

前言升级最新的Android Studio后创建aidl文件时,提示Requires setting the buildFeatures.aidl to true in the build file意思默认不支持创建,需要改配置文件。记录于此,方便自己查阅。正文下面是解决方式。添加...