首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

ListView 上拉刷新

2012-12-07 
ListView 下拉刷新看了ListView的下拉刷新,原理是动态调整 Listview的第一行的paddingTop值,然后就能实现L

ListView 下拉刷新

看了ListView的下拉刷新,原理是动态调整 Listview的第一行的paddingTop值,然后就能实现ListView的下拉刷新。

?

有下面几个ListView常用的方法


getFirstVisiblePosition() 取得界面上第一个显示的位置
getLastVisiblePosition() 取得界面上最后一个显示的位置
setSelection(int position)? 设置当前选中的位置,List会自动调至该位置

sdetVerticalScrollBarEnable(true)?? 设置scrollbar不能往下拉

getMeasuredHeight()??? 达到测量的长度,要在下面的measureView调用之后再调用,不然得到的是0
getBottom() ? 得得到view的最下面在屏幕中的位置
getPaddingTop()

?

还有两个方法也不错,测量view的高度

?

在OnTouchEvent 的Move事件中计算出当下移动的位置

?

private void refreshHead(MotionEvent e){int point = e.getHistorySize();for(int i = 0; i < point; i ++){int historicalY = (int) e.getHistoricalY(i);int topPadding = (int)((historicalY - mLastPositionY - mRefreshViewHeight) / 1.7);mRefreshView.setPadding(mRefreshView.getPaddingLeft(), topPadding, mRefreshView.getPaddingRight(), mRefreshView.getPaddingBottom());if(getFirstVisiblePosition() == 0){if(mRefreshView.getBottom() > 50){mListState = PULL_READ_REFRESH;displayRefreshView();} else {mListState = PULL_REFRESH;}}}}

?

热点排行