简单记录下ListView滑动时标题逐渐变色的实现方法

今天闲来无事,用一个比较简单的方法实现了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);
            }
        });




你可能感兴趣的:(简单记录下ListView滑动时标题逐渐变色的实现方法)