Android ScrollView滚动到底部

时间:2015-08-30 14:51:21

标签: android android-scrollview

Android中的ScrollView确实令人困惑。我正在处理一个应用,该应用会在TextView内向ScrollView添加一段文字,我希望它滚动到ScrollView的底部。

我尝试过这些方法:

Scroll1.fullScroll(View.FOCUS_DOWN);

Scroll1.scrollTo(0, sv.getBottom());

Scroll1.scrollTo(0, Scroll1.getY() + Scroll1.getHeight());

注意: 1. Scroll1是我使用的ScrollView。 2.前两种方法无法滚动到底部。最后一点不起作用。

我怎样才能做到这一点?请帮忙。感谢。

3 个答案:

答案 0 :(得分:1)

试试这个,如果我知道你的问题可能会有所帮助: 将其粘贴到xml的滚动视图中

android:fillViewport="true"

OR

在java活动中

scrollView.setFillViewport(true);

答案 1 :(得分:0)

如果要更新滚动视图,请使用以下代码:

scrollView.post(new Runnable() { 
     public void run() {
         scrollView.fullScroll(View.FOCUS_DOWN);
     }
 });

答案 2 :(得分:0)

在您花一些时间使视图完全膨胀之前,您的scrollView可能不会滚动到onCreate的底部。

因此要使其滚动...

mScrollView.postDelayed(new Runnable() {
            @Override
            public void run() {
                View lastChild = mScrollView.getChildAt(mScrollView.getChildCount() - 1);
                int bottom = lastChild.getBottom() + mScrollView.getPaddingBottom();
                int sy = mScrollView.getScrollY();
                int sh = mScrollView.getHeight();
                int delta = bottom - (sy + sh);

                mScrollView.smoothScrollBy(0, delta);
            }
        },1000);

您还可以在run()中使用scrollView.fullScroll(View.FOCUS_DOWN);

我结合了很多答案。终于对我有所帮助。