例如,我有这样的布局:
<ScrollView> <LinearLayout> <LinearLayout> ... </LinearLayout> <LinearLayout> ... </LinearLayout> <LinearLayout> <TextView> </TextView> </LinearLayout> </LinearLayout> </ScrollView>
我的TextView内容很长.现在我可以手动滚动ScrollView到TextView内容的末尾.在代码中,我写道:scrview.scrollTo(0,800);,scrview是我的ScrollView.它应该滚动到TextView内容的中间.但是在运行时,它只会滚动到TextView的开头,无法滚动TextView内容.
有人知道导致这个问题的原因吗?
编辑:我找到了.好像我太早叫做scrollTo了.运用
scrview.post(new Runnable() { public void run() { scrview.scrollTo(0,800); } });
相反,它的工作原理.为任何遇到同样问题的人发布答案.
解决方法
首先,如果所有的LinearLayouts具有相同的方向,为什么不只是创建一次? 如果我没错,ScrollView只能有1个孩子(1个直接孩子).也许这可能是你遇到问题的原因. 但是,如果你仍然需要这3个LinearLayouts,你可以创建一个FrameLayout作为父级来保存它们并使FrameLayout成为ScrollView的子级
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。