android 美图购物车,Android ViewAnimator 实现仿美图的添加购物车的按钮
如果我们的工程中,动画特效比较多的话,用属性动画实现的话,工时长,维护难,所以今天要介绍的主角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 实现仿美图的添加购物车的按钮相关推荐
- 仿天猫 购物车(Android studio 仿天猫 详情页面 添加购物车选择 颜色 尺寸demo)
这是我第一次编写博客,有不好的地方请发邮件或留言告知. 注*请勿转载-转载需博主同意 1.首先就是设计页面了–先效果图 2.现在开始看代码,没有啥好说的 这是布局文件 MainActivity 里面的 ...
- android美团的购物车动画,模仿饿了么、美团添加购物车的动画效果
#pragma mark -加入购物车动画 -(void) JoinCartAnimationWithRect:(CGRect)rect { CGFloat _endPoint_x = 35; CGF ...
- 购物车的收货地址js php,Javascript实现购物车功能的详细代码
我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪件商品,就会加入购物车中,最后结算.购物车这一功能,方便消费者对商品进行管理,可以添加商品,删除商品,选中购物车中的某一 ...
- android按钮变输入框动画,AnimShopButton 仿饿了么加入购物车旋转控件 - 自带闪转腾挪动画 的按钮。自带海量可定制 UI 属性。在 Re @codeKK Android开源站...
A shopping cart button with a telescopic displacement rotation animation ... 一个仿饿了么 带伸缩位移旋转动画的购物车按钮 ...
- android饿了么购物车,Android仿饿了么加入购物车旋转控件自带闪转腾挪动画的按钮效果(实例详解)...
概述 在上文,酷炫Path动画已经预告了,今天给大家带来的是利用 纯自定义View,实现的仿饿了么加入购物车控件,自带闪转腾挪动画的按钮. 效果图如下: 图1 项目中使用的效果,考虑到了View的回收 ...
- Android显示九宫图(自定义圆角,仿微信九宫格图)
详细解析Android显示九宫图(自定义圆角,仿微信九宫格图) 这是一个自定义九宫格图片框架,里面有设置圆角大小,还有当图片一张的时候控件自定义的大小,图片的间隔,四张图片的时候图片自定义为两行两列等 ...
- android 照片变油画,美图秀秀Android v1.5.3增油画 打造梵高式手绘作品
美图秀秀Android继上个版本更新了艺术特效分类,素描和彩铅都受到了用户的热捧,大家忙着将自己的照片变身绘画作品,体验一回文艺青年的范儿.而此次美图团队在v1.5.3中新增"油画" ...
- Android美图手机太低,十个你不知道的美图秀秀Android版小秘密
您可能感兴趣的话题: 美图秀秀 核心提示:不管你是哪种青年范儿,或是头顶各种高富帅.白瘦美标签的主儿,相信只要有拍照晒图的爱好,那你就一定听说过.甚至手机里就装了"美图秀秀"这款图 ...
- Android调用美图皮肤接口,首创皮肤识别 美图秀秀android新版上线
首创皮肤识别 美图秀秀android新版上线 作者: 软件频道出处: IT168日期: 2012-03-21文章属性:导购 [IT168 导购]"美图秀秀Android版1.5.0" ...
最新文章
- MYSQL修改配置,允许远程访问
- 差异表达基因富集结果可视化
- PythonTip(2)
- BZOJ 4327 [JSOI2012]玄武密码 (AC自动机)
- 让就医流程更智能 道一循推医院官方APP
- [NOI2017]泳池
- 原来R语言还有这些不为人知的用处!
- App Engine中的Google Services身份验证,第2部分
- mongodb聚合操作之group
- 团队软件库_深情软件库App最新版下载_深情软件库手机版2021下载
- 5.10地址信息函数
- 高中计算机评课,高中信息技术优质课评课范文
- 基于Proxy代理服务器的长连接方法
- android手机rom物理存储器,手机ROM/RAM的区别
- 一览数据异步加载的解决方案
- android Account
- Latex制作三线表 Latex制作复杂表格 加彩色边框高亮显示
- 基于域对抗图卷积网络的多变环境下故障诊断
- android 一键接入新浪微博,腾讯微博,人人网,QQ空间,微信好友圈 (只需5分钟)
- Anaconda自用安装