增加ListView的置顶操作 , 与这个置顶小图标的显示与隐藏的判断 , 对ListView的滑动状态进行监听 , 感觉这个实现方式比较简单 , 方便.
// ListView的滑动状态的监听
mIconTop = findViewById(R.id.main_top);// 小图标
mListView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE:
// 闲置状态 , 当最后一个显示的item大于6时 , 显示指定图标
if (view.getLastVisiblePosition() > 6) {
mIconTop.setVisibility(View.VISIBLE);
} else {
mIconTop.setVisibility(View.GONE);
}
Log.e("yeah", "idle...");
break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
// 手指滑动状态
Log.e("yeah", "touch...");
break;
case OnScrollListener.SCROLL_STATE_FLING:
// // 惯性滑动状态
Log.e("yeah", "fling...");
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});
// 点击置顶ListView
mIconTop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mListView.setSelection(0);
mIconTop.setVisibility(View.GONE);// 隐藏图标
}
});