@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (mHeadView != null) {
int top = mHeadView.getTop();
mFloatView.setVisibility(View.VISIBLE); }
if (firstVisibleItem == 1) {
if (top + mScrollTopH <= 0) {
mFloatView.setVisibility(View.VISIBLE);
} else {
mFloatView.setVisibility(View.GONE);
}
} else if (firstVisibleItem < 1) {
mFloatView.setVisibility(View.GONE);
} else {
mFloatView.setVisibility(View.VISIBLE);
}
}
}
});
mHeadView = mInflater.inflate(R.layout.list_head_view, null);
mHeadHeight = mResources.getDimensionPixelSize(R.dimen.list_head_height);
mScrollTopH = mHeadHeight - mResources.getDimensionPixelSize(R.dimen.list_docked_height);
mHeadView.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.MATCH_PARENT, mHeadHeight));
mHomeListView.addHeaderView(mHeadView);