美文网首页
ScrollView中存在EditText,焦点变化引发自动滚动

ScrollView中存在EditText,焦点变化引发自动滚动

作者: 不是作家ssssss | 来源:发表于2020-07-01 09:00 被阅读0次

    经常遇到ScrollView中,存在EditText,当页面滑到底部做一个更新组件的操作时,界面会自动上滑到EditText位置。是因为这个时候焦点被EditText占用,布局自动定位到了它身上。还好在csdn上看到了一片文章,找到了解决方案,原文地址如下

    https://blog.csdn.net/xiao_sier/article/details/106992752

    下面大概讲述下解决方案:

    在ScrollView滚动时,让ScrollView自动获取到焦点

    scrollView.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);

            scrollView.setFocusable(true);

            scrollView.setFocusableInTouchMode(true);

            scrollView.setOnTouchListener((v, event) -> {

                v.requestFocusFromTouch();

                return false;

            });

    这样就会捕获焦点,阻止了页面的滑动,很好的解决了问题。

    相关文章

      网友评论

          本文标题:ScrollView中存在EditText,焦点变化引发自动滚动

          本文链接:https://www.haomeiwen.com/subject/phaqqktx.html