关于禁止Android scrollView 因内容变化而自动滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于禁止Android scrollView 因内容变化而自动滚动相关的知识,希望对你有一定的参考价值。

  出现这种情况是因为你让scrollview获得了焦点,所以它才会滚动。如果你百度了以后,你可能会发现有些博客会说让焦点停在固定的一个view中就可以了。这对于不存在刷新的页面确实是可以的,但是当你出现诸如定时刷新页面的情况的时候,你就会发现这个方法不好操作。因为一旦刷新后焦点的控制就不好弄了。这时就不得不提一提一个比较少用的属性——>android:descendantFocusability

  该属性是当一个为view获取焦点时,定义viewGroup和子控件两者之间的关系。属性的值有三种:

        beforeDescendants:viewgroup会优先其子类控件而获取到焦点

        afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

        blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

  这就方便多了,我们只要在scrollview里面的LinearLayout中加上第三个属性就保证了,无论内容怎么变都会影响到滚动情况。

以上是关于关于禁止Android scrollView 因内容变化而自动滚动的主要内容,如果未能解决你的问题,请参考以下文章

解决Android中,禁止ScrollView内的控件改变之后自动滚动 - 转

android 怎么让scrollview不能滑动

Android ScrollView中嵌套ListView

android 关于ScrollView 的博客做记录学习

android 中 scrollview 里面 又有一个子scrollview滑动事件冲突

如何禁止recyclerview的滚动时间