编程语言
首页 > 编程语言> > java – 如何以编程方式将ScrollView滚动到底部

java – 如何以编程方式将ScrollView滚动到底部

作者:互联网

我有一个问题我无法解决:在ScrollView中我只有一个
LinearLayout中.通过用户操作,我以编程方式添加2个TextView
在此LinearLayout上,但默认情况下滚动保持在顶部.
由于我控制用户操作,我应该很容易滚动到
底部有:

ScrollView scroll = (ScrollView) this.findViewById(R.id.scroll);
scroll.scrollTo(0, scroll.getBottom());

但事实并非如此.因为在添加这两个新的后立即
elements getBottom()仍然返回前两个.我试过了
刷新调用refreshDrawableState()的状态,但我不起作用.

您是否知道如何获得ScrollView的实际底部?
添加一些元素后?

解决方法:

这实际上并没有回答你的问题.
但它是一种替代方案,几乎可以做同样的事情.

而不是滚动到屏幕底部,将焦点更改为位于屏幕底部的视图.

也就是说,替换:

scroll.scrollTo(0, scroll.getBottom());

有:

Footer.requestFocus();

确保指定视图,说’页脚’是可聚焦的.

android:focusable="true"
android:focusableInTouchMode="true"

标签:android,java,android-layout,android-scrollview
来源: https://codeday.me/bug/20190926/1821793.html