listview上滑下滑显示和隐藏
listView.setOnScrollListener(new OnScrollListener()
{
@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
{
if (scrollState == SCROLL_STATE_TOUCH_SCROLL)
{
//正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调
//回调顺序如下
//第1次:scrollState = SCROLL_STATE_TOUCH_SCROLL(1) 正在滚动
//第2次:scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下)
//第3次:scrollState = SCROLL_STATE_IDLE(0) 停止滚动
first = view.getFirstVisiblePosition();//屏幕中能看到的第一个itme
last = view.getLastVisiblePosition();//屏幕中能看到的最后一个itme
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
{
//实时监听
// TODO Auto-generated method stub
//滚动时一直回调,直到停止滚动时才停止回调。单击时回调一次。
//firstVisibleItem:当前能看见的第一个列表项ID(从0开始)
//visibleItemCount:当前能看见的列表项个数(小半个也算)
//totalItemCount:列表项共数
Toast.makeText(OneActivity.this, view.getFirstVisiblePosition() + "", 1).show();
if (first + 1 == view.getFirstVisiblePosition())//滚动时屏幕中能看到的第一个itme
{
MainActivity.tabhost();
}
if (view.getLastVisiblePosition() != -1)
{
if (last - 1 == view.getLastVisiblePosition())//滚动时屏幕中能看到的最后一个itme
{
MainActivity.tabhostGone();
}
}
}
});