banner背景颜色滑动渐变

项目需要banner背景滑动渐变,看了网上别的滑动渐变demo,都是使用palette 在bitmap取点 来显示颜色,弊端太大,现在写的是可以根据固定颜色 直接滑动渐变,比较适合项目

先上图:


ceshi.gif
 先导banner依赖
   implementation 'com.youth.banner:banner:1.4.10'

ceshi_banner.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @SuppressLint("NewApi")
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            ArgbEvaluator evaluator = new ArgbEvaluator(); // ARGB求值器
            if (position>=0&&position<bgList.size()-1){
                evaluate = (Integer) evaluator.evaluate(positionOffset,  bgList.get(position),  bgList.get(position+1));
            }else if (position==bgList.size()-1){
                evaluate = (Integer) evaluator.evaluate(positionOffset,  bgList.get(position),  bgList.get(0));
            }
            ceshi_rela.setBackgroundColor(evaluate);
            }

            @SuppressLint("NewApi")
            @Override
            public void onPageSelected(int position) {///选中
            }

            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });

final List<String>ceshlist=new ArrayList<>();
        ceshlist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556532665664&di=9ead9eb8a9fe2af9a01b0dd39f3e41f4&imgtype=0&src=http%3A%2F%2Fbpic.588ku.com%2Fback_pic%2F05%2F37%2F28%2F475a43591370453.jpg");
        ceshlist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556532613934&di=0be1c6bbf0441bd19ef6d4e3ce799263&imgtype=0&src=http%3A%2F%2Fpic96.nipic.com%2Ffile%2F20160430%2F7036970_215739900000_2.jpg");
        ceshlist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556532613936&di=4dd453940f49d9801826e6b820490957&imgtype=0&src=http%3A%2F%2Fpic161.nipic.com%2Ffile%2F20180410%2F26429156_154754410034_2.jpg");
        ceshlist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556532613935&di=39c387012e3d8fa2eef90129eaf83c5c&imgtype=0&src=http%3A%2F%2Fpic25.nipic.com%2F20121211%2F7031681_170238437383_2.jpg");
        final  List<Object> bgList = new ArrayList<>();
        bgList.add(Color.parseColor("#c0130d"));
        bgList.add(Color.parseColor("#C49718"));
        bgList.add(Color.parseColor("#113CC0"));
        bgList.add(Color.parseColor("#9B8C09"));
 
        ceshi_banner.setImageLoader(new com.youth.banner.loader.ImageLoader() {
            @Override
            public void displayImage(Context context, Object path, ImageView imageView) {
        
                String s= (String) path;
                Glide.with(context).load(s).into(imageView);

            }
        });
        ceshi_banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR);//设置圆形指示器与标题
        ceshi_banner.setIndicatorGravity(BannerConfig.RIGHT);//设置指示器位置
        ceshi_banner.setDelayTime(2000);//设置轮播时间
        ceshi_banner.setImages(ceshlist);//设置图片源
        ceshi_banner.start();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。