做项目时免不了在某些布局中需要添加scrollview控件,
但是当我们跳转到嵌有scrollview的页面时,发现scrollview的初始位置并不是置顶的
在网上查找的资料,基本都是在页面初始化后调用scrollview的scrollTo(0,0)方法达到我们的目的,但在有些情况下,调用这个方法只能在跳转到页面的那一瞬间是置顶的,随后又恢复到了非置顶状态,这并不能达到我们的效果。我们知道,进入页面后,scrollview显示位置下移,主要是因为焦点问题,所以在它的上一层布局或者在根布局上加android:focusableInTouchMode="true" 就能解决你所遇到的问题。下面记录一下我找到的解决方法,方便今后自己查阅,加深自己的印象,同时,也希望能给那些跟我遇到同样问题的小伙伴们提供参考:方法1.在嵌有scrollview页面的初始化后调用scrollView.scrollTo(0,0)方法;方法2.布局文件中,
在scrollview的上一层布局或者在根布局上加android:focusableInTouchMode="true"
属性温馨提示:个人觉得这2种方法中,方法2是更好解决方式的选择。
第二种做法
- 解决方案让控件失去焦点
//必须在控件初始化后设置, 也不能写在layout中否则不起作用
recycleview.setFocusable(false);
在使用scrollview嵌套recycleview时,遇到页面加载时scrollview未置顶的问题。常见解决方案是初始化后调用scrollTo(0,0),但这可能无法持久生效。真正的原因是焦点导致的位置下移。通过在scrollview的上层布局或根布局添加android:focusableInTouchMode='true'属性,可以有效解决这一问题,提供了一种更好的解决思路。"
105435798,8522008,理解OSPF动态路由协议中的Virtual Link,"['动态路由协议', 'Cisco', 'OSPF配置']

1754

被折叠的 条评论
为什么被折叠?



