Android Scrollview 定位到末尾的正确方法

想要让 scrollview 滚动到末尾,网上的什么fullscroll(view.FUCOS_DOWN)和scrollto(0,scroll.getBottom())都不行。

FOCUS_DOWN在弹出输入法的时候有很大几率滚过头又回到顶端,不好使。

scrollview本身的bottom就是看得到的那里,不超过屏幕长度,肯定不对,因为我们想要他滚动到超过屏幕长度的那个最低端。

正确方案是获取scrollview内部最后一个控件的底部,然后滚动到哪儿去。

下边的代码是向scrollview内的textview打印字符串,就是添加字符串到textview上去显示。

每次更新textview之后需要滚动到最新的内容的位置,也就是底部,也就是textview的底部。

console其实是个textview。

    private void print(CharSequence s) {
        console.append(s);
        scroll.scrollTo(0,console.getBottom());
    }

 

posted @ 2019-06-30 11:02  sebastia  阅读(1982)  评论(0编辑  收藏  举报