采用ScrollView嵌套ListView设置标题栏渐显处理的不好会出现卡顿的情况,所以我们可以直接使用ListView来处理!
/**
* 设置滑动ListView渐显标题栏
*/
lvData.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
View viewChild = lvData.getChildAt(0);
if(null != viewChild) {
int top = -(viewChild.getTop());
if(top == 0){
titleBar.setAlpha(0.0f);
}else if (top > 0 && top <= abannerHeight && firstVisibleItem == 0) {
float scale = (float) top / abannerHeight;
float alpha = (255 * scale); //设置背景时可用
titleBar.setAlpha(scale);
}else{
titleBar.setAlpha(1.0f);
}
}
}
});
这里的titleBar是我的标题栏, abannerHeight是我广告图的高度,可以自己定义。