今天闲来无事,用一个比较简单的方法实现了ListView滑动时标题逐渐变色,这里简单的做下记录,以后用到的时候可以直接拿来就用了。
因为我有点懒,不像鸿洋和郭林那般勤奋,所以没完整上传DEMO,这里只是记录一下核心代码,供自己日后使用,如果搜到我这个的,看懂的一眼就能看懂,看不懂的也别骂我。
核心代码:
private final int DISTANCE = 500;//滑动的最大位移
mListView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
lastVisibleCount = firstVisibleItem + visibleItemCount;
int offset = 0;
if (firstVisibleItem == 0) {
View firstItem = mListView.getChildAt(0);
if (firstItem != null) {
offset = 0 - firstItem.getTop();
}
} else {
offset = DISTANCE;
}
float percent = (offset * 1f) / (DISTANCE * 1f) ;
if (percent >= 0 && percent <= 1) {
textView.setAlpha(percent);
}
Log.v("tag_2", "percent = " + percent);
}
});
===============================
如果你觉得帮到了你,请给作者打赏一口饭吃: