添加新视图时 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();
就这些了。
我有一个 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();
就这些了。