我有一个我无法解决的问题:在 ScrollView 中我只有一个 LinearLayout。通过用户操作,我以编程方式在此 LinearLayout 上添加 2 个 TextView,但默认情况下滚动保持在顶部。由于我控制了用户操作,我应该很容易滚动到底部,例如:
ScrollView scroll = (ScrollView) this.findViewById(R.id.scroll);
scroll.scrollTo(0, scroll.getBottom());
但实际上不是。因为在添加这两个新元素之后 getBottom() 仍然返回前两个。我试图刷新状态调用 refreshDrawableState()
,但我不工作。
您知道在添加一些元素后如何获得 ScrollView 的实际底部吗?
原文由 wikier 发布,翻译遵循 CC BY-SA 4.0 许可协议
这实际上并没有回答你的问题。但它是一种替代品,几乎可以做同样的事情。
不要滚动到屏幕底部,而是将焦点更改为位于屏幕底部的视图。
即,替换:
和:
确保指定视图,比如“页脚”是可聚焦的。