滑動ViewPager過渡改變整個頁面的顏色

至此1024程序員日,首先祝廣大程序員兄弟們節日快樂!!

 

先看下效果

 當VIewPager滑動的時候,整個頁面的顏色慢慢改變,而且是過渡改變的狀態

看似炫酷,其實只用到了一種方法

也就是顏色差值器

核心代碼如下:

//viewpager監聽
        mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int i, float v, int i1) {
                ArgbEvaluator evaluator = new ArgbEvaluator();
                if (i==0){
                    //改變根佈局顏色
                    ll_root.setBackgroundColor(getResources().getColor(R.color.common_orange));
                    mPager.setBackgroundColor(getResources().getColor(R.color.common_orange));
                    //定義顏色差值器
                    int evaluate = (Integer) evaluator.evaluate(v, getResources().getColor(R.color.common_orange), getResources().getColor(R.color.common_indelred));
                    ll_root.setBackgroundColor(evaluate);
                    mPager.setBackgroundColor(evaluate);
                }
            }

            @Override
            public void onPageSelected(int i) {

            }

            @Override
            public void onPageScrollStateChanged(int i) {

            }
        });

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章