1. 程式人生 > >ListView的第一個item完整顯示

ListView的第一個item完整顯示

當ListView的第一個item顯示不完整時,進行適當調整:顯示過半,則全部顯示;顯示小於一半,則將當前item(顯示小半個)的下一個item顯示為第一個。

mListView.setOnScrollListener(new OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
                switch (scrollState) {
                case OnScrollListener.SCROLL_STATE_IDLE://滑動停止
                    View c = mListView.getChildAt(0);
                    if (Math.abs(c.getTop()) < c.getHeight() / 2) {
                        mListView.smoothScrollToPosition(mListView
                                .getFirstVisiblePosition());
                    } else {
                        mListView.smoothScrollToPosition(mListView
                                .getLastVisiblePosition());
                    }
                    break;
                 default:
                    break;
                }

            }

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

            }

        });