如何在listview上自动滚动到底部?

时间:2014-01-15 10:04:24

标签: android xml

我有ListView的应用程序。这个ListView有一个Progressbar。当我点击这个进度条时,它显示一个隐藏的布局(这个布局包含带有歌词的textview)。因此,当我点击最后一个进度条时,它显示隐藏的布局,但我需要手动滚动。我希望滚动必须是自动的。 请帮帮我。

5 个答案:

答案 0 :(得分:2)

您可能会发现smoothScrollByOffset()的{​​{1}}或smoothScrollBy()方法最有用。特别是ListView同时需要滚动距离和滚动动画应该发生的持续时间。使用此方法,您可以精确控制滚动列表的距离。

答案 1 :(得分:2)

尝试这样的事情:

private void scroll2bottom() {
    yourListView.post(new Runnable() {
        @Override
        public void run() {
            yourListView.setSelection(yourListAdapter.getCount() - 1);
        }
    });
}

答案 2 :(得分:1)

列表视图的布局中的

只需使用transcriptMode

listview内置了自动滚动

机器人:transcriptMode ="正常"当它在底部时滚动而不是滚动时滚动

并且设置alwaysScroll将始终滚动到底部

然后你可以设置android:stackFromBottom =" true"让它从底部成长

答案 3 :(得分:0)

尝试这种方式:

lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 
lv.setStackFromBottom(true);

答案 4 :(得分:0)

要以编程方式滚动listView,您可以使用其smoothScrollByOffset(int offset)或smoothScrollToPosition(int position)方法,您可以找到有关ListView小部件的文档here以及如何使用这些方法。