当前位置:  开发笔记 > Android > 正文

如何在Android中以编程方式将ScrollView滚动到底部?

如何解决《如何在Android中以编程方式将ScrollView滚动到底部?》经验,为你挑选了1个好方法。

如何在Android中以编程方式将ScrollView滚动到底部?

建议的代码

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

不起作用(滚动到开头的底部,而不是实际的底部).

布局如下:




    

        

    



填充代码如下:

@BindView(R.id.log_scroll)
    ScrollView logScroll;

    @BindView(R.id.log_text)
    TextView logText;

    private void log(String msg) {
        logText.append(new SimpleDateFormat( "HH:mm:ss ", Locale.US ).format(new Date()) + msg + "\n");
        logScroll.scrollTo(0, logScroll.getBottom());
    }

UPDATE

我读了一些答案并写道:

private void log(String msg) {
        logText.append(new SimpleDateFormat( "HH:mm:ss ", Locale.US ).format(new Date()) + msg + "\n");
        //logScroll.scrollTo(0, logScroll.getBottom());
        logScroll.fullScroll(View.FOCUS_DOWN);
    }

为什么比使用更糟post



1> 小智..:

如果要使用软键盘事件滚动到底部,请使用此选项:

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

即时滚动:

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

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有