如果我们的工程中,动画特效比较多的话,用属性动画实现的话,工时长,维护难,所以今天要介绍的主角ViewAnimator,简洁易懂!

1、我们需要在app的build.gradle中添加我们所需的ViewAnimator

compile 'com.github.florent37:viewanimator:1.0.5'

2、布局XML

iv_s减号图标;

tv_c数量;

iv_a添加图标;

android:id="@+id/iv_s"

android:layout_width="wrap_content"

android:layout_height="42dp"

android:layout_gravity="right"

android:layout_marginTop="120dp"

android:alpha="0"

android:padding="2dp"

android:src="@drawable/sub"/>

android:id="@+id/tv_c"

android:layout_width="wrap_content"

android:layout_height="42dp"

android:layout_gravity="right"

android:layout_marginLeft="8dp"

android:layout_marginTop="120dp"

android:alpha="0"

android:gravity="center"

android:text="1"

android:textSize="22sp"

app:layout_constraintLeft_toRightOf="@+id/iv_s"/>

android:id="@+id/iv_a"

android:layout_width="wrap_content"

android:layout_height="42dp"

android:layout_gravity="right"

android:layout_marginLeft="8dp"

android:layout_marginTop="120dp"

android:alpha="100"

android:padding="2dp"

android:src="@drawable/add"

app:layout_constraintLeft_toRightOf="@+id/tv_c"

/>

2、MainActivity.java

final ImageView sub= (ImageView) findViewById(R.id.iv_s);

final ImageView add= (ImageView) findViewById(R.id.iv_a);

final TextView tvCount= (TextView) findViewById(R.id.tv_c);

add.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (count == 0) {

ViewAnimator.animate(sub)

.translationX(add.getLeft() - sub.getLeft(), 0)

.rotation(360)

.alpha(0, 255)

.duration(300)

.interpolator(new DecelerateInterpolator())

.andAnimate(tvCount)

.translationX(add.getLeft() - tvCount.getLeft(), 0)

.rotation(360)

.alpha(0, 255)

.interpolator(new DecelerateInterpolator())

.duration(300)

.start();

}

count++;

tvCount.setText(count + "");

}

});

sub.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

count--;

tvCount.setText(count + "");

if (count == 0) {

ViewAnimator.animate(sub)

.translationX(0, add.getLeft() - sub.getLeft())

.rotation(-360)

.alpha(255, 0)

.duration(300)

.interpolator(new AccelerateInterpolator())

.andAnimate(tvCount)

.onStop(new AnimationListener.Stop() {

@Override

public void onStop() {

}

})

.translationX(0, add.getLeft() - tvCount.getLeft())

.rotation(-360)

.alpha(255, 0)

.interpolator(new AccelerateInterpolator())

.duration(300)

.start();

}

}

});

translationX 横向移动

rotation 旋转方向(360正向旋转 -360逆向旋转)

alpha 透明度

duration 动画显示速度

interpolator 区间的动画 可以控制动画的变化速率(AccelerateInterpolator就是一个加速运动的Interpolator,而DecelerateInterpolator就是一个减速运动的Interpolator)

andAnimate 用于多个view控件同时显示特效

thenAnimate 表示前面的动画执行完毕后再执行的动画

onStop 表示在动画结束之后所需要执行的(自己实现)

最终的实现效果图:

动画按钮.gif

android 美图购物车,Android ViewAnimator 实现仿美图的添加购物车的按钮相关推荐

  1. 仿天猫 购物车(Android studio 仿天猫 详情页面 添加购物车选择 颜色 尺寸demo)

    这是我第一次编写博客,有不好的地方请发邮件或留言告知. 注*请勿转载-转载需博主同意 1.首先就是设计页面了–先效果图 2.现在开始看代码,没有啥好说的 这是布局文件 MainActivity 里面的 ...

  2. android美团的购物车动画,模仿饿了么、美团添加购物车的动画效果

    #pragma mark -加入购物车动画 -(void) JoinCartAnimationWithRect:(CGRect)rect { CGFloat _endPoint_x = 35; CGF ...

  3. 购物车的收货地址js php,Javascript实现购物车功能的详细代码

    我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪件商品,就会加入购物车中,最后结算.购物车这一功能,方便消费者对商品进行管理,可以添加商品,删除商品,选中购物车中的某一 ...

  4. android按钮变输入框动画,AnimShopButton 仿饿了么加入购物车旋转控件 - 自带闪转腾挪动画 的按钮。自带海量可定制 UI 属性。在 Re @codeKK Android开源站...

    A shopping cart button with a telescopic displacement rotation animation ... 一个仿饿了么 带伸缩位移旋转动画的购物车按钮 ...

  5. android饿了么购物车,Android仿饿了么加入购物车旋转控件自带闪转腾挪动画的按钮效果(实例详解)...

    概述 在上文,酷炫Path动画已经预告了,今天给大家带来的是利用 纯自定义View,实现的仿饿了么加入购物车控件,自带闪转腾挪动画的按钮. 效果图如下: 图1 项目中使用的效果,考虑到了View的回收 ...

  6. Android显示九宫图(自定义圆角,仿微信九宫格图)

    详细解析Android显示九宫图(自定义圆角,仿微信九宫格图) 这是一个自定义九宫格图片框架,里面有设置圆角大小,还有当图片一张的时候控件自定义的大小,图片的间隔,四张图片的时候图片自定义为两行两列等 ...

  7. android 照片变油画,美图秀秀Android v1.5.3增油画 打造梵高式手绘作品

    美图秀秀Android继上个版本更新了艺术特效分类,素描和彩铅都受到了用户的热捧,大家忙着将自己的照片变身绘画作品,体验一回文艺青年的范儿.而此次美图团队在v1.5.3中新增"油画" ...

  8. Android美图手机太低,十个你不知道的美图秀秀Android版小秘密

    您可能感兴趣的话题: 美图秀秀 核心提示:不管你是哪种青年范儿,或是头顶各种高富帅.白瘦美标签的主儿,相信只要有拍照晒图的爱好,那你就一定听说过.甚至手机里就装了"美图秀秀"这款图 ...

  9. Android调用美图皮肤接口,首创皮肤识别 美图秀秀android新版上线

    首创皮肤识别 美图秀秀android新版上线 作者: 软件频道出处: IT168日期: 2012-03-21文章属性:导购 [IT168 导购]"美图秀秀Android版1.5.0" ...

最新文章

  1. MYSQL修改配置,允许远程访问
  2. 差异表达基因富集结果可视化
  3. PythonTip(2)
  4. BZOJ 4327 [JSOI2012]玄武密码 (AC自动机)
  5. 让就医流程更智能 道一循推医院官方APP
  6. [NOI2017]泳池
  7. 原来R语言还有这些不为人知的用处!
  8. App Engine中的Google Services身份验证,第2部分
  9. mongodb聚合操作之group
  10. 团队软件库_深情软件库App最新版下载_深情软件库手机版2021下载
  11. 5.10地址信息函数
  12. 高中计算机评课,高中信息技术优质课评课范文
  13. 基于Proxy代理服务器的长连接方法
  14. android手机rom物理存储器,手机ROM/RAM的区别
  15. 一览数据异步加载的解决方案
  16. android Account
  17. Latex制作三线表 Latex制作复杂表格 加彩色边框高亮显示
  18. 基于域对抗图卷积网络的多变环境下故障诊断
  19. android 一键接入新浪微博,腾讯微博,人人网,QQ空间,微信好友圈 (只需5分钟)
  20. Anaconda自用安装

热门文章

  1. 【数据结构】PTA C++顺序存储结构实现多项式存储与处理
  2. 发票识别——提升效率神器
  3. Java学习day019
  4. 关于Cere在Republic平台公开发售
  5. 乐视网络电视 v7.0.3.198 官方版
  6. php mq死信队列,RabbitMQ死信队列+延时队列
  7. 广告电商如何转化流量的佣金
  8. 规则引擎调研及初步使用 | 京东云技术团队
  9. 爬虫(6)—— 淘宝商品比价定向爬虫
  10. 算法之动态规划算法简介