0

有没有办法配置 ListView 以使其始终在屏幕上完整显示列表的顶部元素?换句话说,每当列表停止滚动时,它应该继续向上或向下滚动,直到顶部的元素完全显示。

4

1 回答 1

0

这解决了这个问题。

    setOnScrollListener(new OnScrollListener() {

        boolean touched = false;

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {           
            if(scrollState == SCROLL_STATE_TOUCH_SCROLL){
                touched = true;
            }else if(scrollState == SCROLL_STATE_IDLE && touched){
                touched = false;
                ListViewWithSwipe.this.post(new Runnable() {
                    @Override
                    public void run() {
                        smoothScrollToPosition(getFirstVisiblePosition());  
                    }
                });
            }
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        }
    });
于 2012-06-25T16:35:40.413 回答