添加新视图时 ScrollView 没有滚动到结束 android

ScrollView not scrolling to end while adding a new view android

我有一个 scrollView,当我在 scrollView 的末尾时,在末尾单击一个按钮时,我需要在该按钮下方显示一个视图。我通过将新添加的视图的可见性从 GONE 更改为 VISIBLE 来实现。它可以正常工作,但是单击按钮后我看不到新添加的视图,即我需要向下滚动 scrollView 才能显示该视图。单击按钮后,是否可以将 ScrollView 滚动到新添加的视图?并在再次单击该按钮后隐藏该视图并滚动回正常状态。

提前致谢!

这是一个替代品,几乎做同样的事情。

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

即替换:

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

与:

 Footer.requestFocus();

确保指定视图,比如 'Footer' 是可聚焦的。

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

或者如果上面的方法不起作用,试试这个

 scrollView.post(new Runnable() {
@Override
public void run() {
    scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
});

由于我在最后添加的视图添加了展开动画,因此我使用了一个倒数计时器,如下所示:

new CountDownTimer(500, 1) {
        public void onTick(long millisUntilFinished) {
            myScrollView.scrollTo(0, R.id.bottomView);
        }
        public void onFinish() {
        }
    }.start();

就这些了。