调整大小后,Android ScrollView会跳转

调整大小后,Android ScrollView会跳转,第1张

概述我有一个包含许多其他视图的ScrollView(TextViews,ImageViews等).ScrollView比屏幕更高.我有一个AsyncTask,它根据http响应更新ScrollView的子节点.我发现了一个有趣的行为,我无法弄清楚如何解决.如果我将任何孩子的可见性设置为View.INVISIBLE作为AsyncTask.onPostExecute()的一

我有一个包含许多其他视图的ScrollVIEw(TextVIEws,ImageVIEws等). ScrollVIEw比屏幕更高.我有一个AsyncTask,它根据http响应更新ScrollVIEw的子节点.

我发现了一个有趣的行为,我无法弄清楚如何解决.如果我将任何孩子的可见性设置为VIEw.INVISIBLE作为AsyncTask.onPostExecute()的一部分,一切正常.

但是,如果我将任何子项的可见性设置为VIEw.GONE,则在调用onPostExecute()时,ScrollVIEw会从顶部跳转.究竟有多远似乎有所不同.我猜测重新布置ScrollVIEw导致它出于某种原因从顶部滚动.

所以问题是:有没有办法阻止或解决这种行为?

PS.使用ScrollVIEw.jump(FOCUS_UP)作为一种解决方法并不理想,因为即使他们打算向下滚动,也会强制用户进入顶部.

编辑:其实,我错了.问题不在于子视图被标记为已消失,问题是兄弟视图被标记为已消失并且ScrollVIEw被调整大小.我的ScrollVIEw位于一个也包含button的linearLayout中.当按钮设置为GONE时,ScrollVIEw会调整大小以占用可用空间,使其从顶部滚动.不同的原因,尽管可能,仍在寻找解决方法.

解决方法:

我有同样的问题.如果布局跳跃在你的顶部杠杆布局中添加了以下内容

androID:descendantFocusability="blocksDescendants"

例:

<linearLayoutandroID:layout_wIDth="match_parent"androID:layout_height="wrap_content"androID:orIEntation="vertical"androID:descendantFocusability="blocksDescendants" >
总结

以上是内存溢出为你收集整理的调整大小后,Android ScrollView会跳转全部内容,希望文章能够帮你解决调整大小后,Android ScrollView会跳转所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118632.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存