Viewpager动效+仿微信底部导航栏

Viewpager动效+仿微信底部导航栏

简介:

本文内容适用于 想要编写 首次进入项目的欢迎引导页面、底部导航栏、以及轮播图添加动效。

主要代码提示:

  • 估值器 - ArgbEvaluator(针对Color属性)
  • 设置控件属性 ViewCompat.setAlpha(控件, float类型,百分比); (渐变)
  • viewPager.setPageTransformer(true ,PageTransformer); (用于viewpager的滑动动画)

目录

功能介绍

  • [x] 实现底部导航栏随滑动字体逐渐变色以及图片的渐变动效
  • [x] 实现viewpager滑动过程中的各种动效

效果图与示例 apk

示例 apk下载

GitHub地址

使用

//可修改渐变的颜色值, 现在的色值是模仿微信的灰和绿
int colorBefore = (Integer) mArgbEvaluator.evaluate(positionOffset, 0XFF007500, 0XFF3C3C3C); 
int colorNow = (Integer) mArgbEvaluator.evaluate(positionOffset, 0XFF3C3C3C, 0XFF007500);

 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            switch (position) {
                case 0:
                    // 此方法是根据positionOffset滑动百分比来进行改变底部导航栏的字色和图标渐变的
                    SetBottomAnim(positionOffset, tvBottom1, tvBottom2, ivBottom1, ivBottom11, ivBottom2, ivBottom22);
                    break;
                case 1:
                    SetBottomAnim(positionOffset, tvBottom2, tvBottom3, ivBottom2, ivBottom22, ivBottom3, ivBottom33);
                    break;
                case 2:
                    SetBottomAnim(positionOffset, tvBottom3, tvBottom4, ivBottom3, ivBottom33, ivBottom4, ivBottom44);
                    break;

            }
        }

        @Override
        public void onPageSelected(int position) {
            SetBottom(position);
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });

//此处是给viewPager加入动画的方法,在项目pagetransform包中,有各种类似ZoomPageTransformer的方法
 viewPager.setPageTransformer(true ,new ZoomPageTransformer());

交流账号

  • QQ:911288373
  • 邮箱:911288373@qq.com
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值