ListView Android,如何始终显示完整的元素

时间:2012-06-25 16:11:12

标签: android listview

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

1 个答案:

答案 0 :(得分: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) {

        }
    });