android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画

很多电商app的加入购物车的动作会要求加上动画效果:飞进购物车,想来也合理,在listview界面时商品快速加入购物车,一直toast用户加入成功好像不太正常,所以添加一个动画,用户自然就懂了,而且也挺美观。这里记录一个这样的demo,demo里面的注释足够详细,这里也会给出部分代码说明。

上效果

c92a89359f53

动画效果

上说明

使用方法1:

如果现成的效果还不够自己想要的效果,下载demo,把demo中library中的两个类拷贝出来放进自己的view文件夹,然后直接去修改它们,修改成满足自己需求的效果。

使用方法2:

如果觉得现成的效果足够满足自己需求了直接使用gradle依赖的方式:

1.Add it in your root build.gradle at the end of repositories:

allprojects {

repositories {

...

maven { url "https://jitpack.io" }

}

}

2.Add the dependency:

dependencies {

compile 'com.github.paradoxie:ShopAnimDemo:0.1'

}

自定义说明:

//启动动画

public void startAnim(View v) {

int[] end_location = new int[2];

int[] start_location = new int[2];

v.getLocationInWindow(start_location);// 获取购买按钮的在屏幕的X、Y坐标(动画开始的坐标)

car.getLocationInWindow(end_location);// 这是用来存储动画结束位置,也就是购物车图标的X、Y坐标

buyImg = new ImageView(this);// buyImg是动画的图片

buyImg.setImageResource(R.mipmap.sign);// 设置buyImg的图片

// mAniManager.setTime(5500);//自定义时间

mAniManager.setAnim(this, buyImg, start_location, end_location);// 开始执行动画

mAniManager.setOnAnimListener(new AniManager.AnimListener() {

@Override

public void setAnimBegin(AniManager a) {

//动画开始时的监听

}

@Override

public void setAnimEnd(AniManager a) {

//动画结束后的监听

num += 5;

buyNumView.setText(num + "");

buyNumView.show();

}

});

}

写一个点击事件中可直接调用的方法,内部实现为动画的配置,包括:动画的起点,即点击view的位置;动画的终点,即购物车图标的位置;界面上飞来飞去那个小图标;动画的持续时间;然后调用方法开始执行动画。这里给出了动画开始和结束的监听回调,因为一般在结束之后是需要修改一些显示状态的,具体查看demo实现效果。

另外,在图标之上有一个数字标签BadgeView,使用了自定义控件实现,使用时具体配置:

buyNumView = new BadgeView(this, car);//把这个数字标签放在购物车图标上

buyNumView.setBadgePosition(BadgeView.POSITION_CENTER);//放在图标中心

buyNumView.setTextColor(Color.WHITE);//数字颜色

buyNumView.setBadgeBackgroundColor(Color.BLUE);//背景颜色

buyNumView.setTextSize(9);//数字大小

注释给得十分清楚了,可去修改自己想要的效果。具体的使用配置只有这些,很容易理解哇

源码中获取ViewGroup时使用的是Activity.getWindow().getDecorView(),所以理论上支持所有activity和fragment中实现此效果,具体木有测试,如果有问题可以根据情况修改。本人正式项目中就是在fragment实现这个效果,虽然不是用的这个依赖库。

【UI篇】扩展阅读

本文作者:paradoxie

个人主页:谢盒盒的小黑屋,不止说技术

简书地址:简书主页,专注说技术

github地址:paradoxie

转载请注明出处,蟹蟹!

-------我的梦想真的是做一条咸鱼!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于android 定位系统,基于Android平台定位系统设计和实现

2 0 1 3牟第 1 2期文章编号: 1 0 0 9— 2 5 5 2 ( 2 0 1 3 ) 1 2— 0 1 8 7— 0 4 中图分类号: T P 3 1 6 . 8 9 文献标识码: A基于 A n d r o i d平台定位系统设计和实现李瑞宣,王山东,徐志远,王伶俐(河海…

开发工评价程师自我_常见“自我评价”写作范例

“自我评价”在找工作的时候是一个非常重要的内容,优秀的“自我评价”不仅就可以让别人对你有一个全面的认识,更可以通过寥寥数语就让别人对你产生浓厚的兴趣,让你的求职之路事半功倍。但是怎么写“自我评价”,却是让很多人犯愁的…

visual studio 调试python_Visual Studio Code Python 调试设置

很意外Visual Studio Code居然支持Python代码的断点调试。一起来配置一下。工具/原料 Visual Studio Code 1.1 Python 2.7.11 方法/步骤 1 首先,当然是要先安装插件,配置Python环境。这个大家看这个文章 2 环境配置完成后,我们点击调试按钮&a…

leetcode c程序总提示主函数_Matlab系列之函数嵌套

昨天的那一篇讲的几个函数,不知道你们理解的如何,是否懂得怎么去使用了,如果还没懂,一定要再多看几遍,并且去在软件上进行实操,今天的话,将要介绍一下函数的嵌套,不过在正式讲嵌套之…

华为手机出现android啥意思,传华为正研发手机系统,如果脱离安卓系统,还有啥能阻止华为前进...

原标题:传华为正研发手机系统,如果脱离安卓系统,还有啥能阻止华为前进自从国产手机正式进入了智能手机时代之后,中华酷联的中兴、酷派、联想早已经被华为甩在了身后。虽然现在国产手机已经呈现出华为、小米、OPPO、vivo四足鼎立的…

sql 数据库前两列值乘_Sql语句常用关键字

最近接触sql比较多,发现自己已经遗忘的也差不多,要用到的时候迟迟拿不出来,今天开始会在知乎上纪录一些sql语句学习的内容,内容重在说明查询语句的用法。一、sql查询语句的初始介绍1、查询语句的一般写法:select .....…

谷歌fuchsiaos和华为鸿蒙,华为鸿蒙最大的对手现身!谷歌正式推送Fuchsia OS,或替代安卓...

原标题:华为鸿蒙最大的对手现身!谷歌正式推送Fuchsia OS,或替代安卓可能是看到了华为鸿蒙的进展神速,谷歌在近日也正是开始了Fuchsia OS的推送。5月25日,谷歌Fuchsia OS项目负责人在社交媒体上公开喊话:“今…

c html转为datatable,C#中DataTable导出为HTML格式的方法

前言在C#中DataTable导出数据的时候,我们需要HTML格式的输出数据, 这时候就需要使用将DataTable导出为到HTML格式的方法了,以下代码就可以帮助我们达到目的。首先,我们要绑定DataTable和 DataGridView。一、通过DataTable绑定DataGridView1. 创建DataTab…

mybatis insert 忽略 联合唯一索引_MySQL实战中,Insert语句的使用心得总结

提到MySQL的Insert语句,你肯定不陌生,或许已经张口就来:不就是insert into table values(xxx,xxx,xxx)嘛!没错,但在实战中,根据不同的需求场景,插入操作在语法、执行方式上的用法多种多样。今天…

eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇

Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇本文主要内容:1:spring cloud整合Eureka总结本文是由凯哥(凯哥Java:kagejava)发布的《spring cloud系列》教程的总第十篇:本文是几个维度中的第一个维度:注册与发现维度…

html鼠标滚轴后下一页,鼠标滚动有一页ppt不能马上下翻,而是上下移动,移动到一定位置后才翻到下一页,这是怎么回事?怎么解决?...

一般是这张幻灯片里有图片才会出现这种问题,你的图片格式有问题,点击图片,再点击格式,把图片格式换一下就好了同问,但不是下面两个原因,都试过没用1,ppt的比例太大,缩小比例即可。Ct…

resnet keras 结构_Day146:第二讲 ResNet

出处论文:Deep Residual Learning for Image Recognition作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian SunImageNet Top5错误率: 3.57%主要思想主要体现在 Residual(残差),从名字就可以看出,不学绝对值&#x…

html5内容切换特效,html5+jQuery图片和文字内容同时左右切换特效

html5jQuery图片和文字内容同时左右切换特效,点击图片或者点击左右按钮进行切换,图片转动以及文字内容动画效果切换。查看演示下载资源:22次 下载资源下载积分:20积分js代码 (function(){var bannerIndex 0;var $bannerBgs $(.j…

asp向不同的用户发送信息_【asp.net core 系列】 1 带你了解一下asp.net core

0. 前言 这是一个新的系列,名字是《http://ASP.NET Core 入门到实战》。这个系列主讲http://ASP.NET Core MVC,辅助一些前端的基础知识(能用来实现我们需要的即可,并非主讲)。同时这个系列也会在后续介绍http://ASP.NE…

html 怎么使用http请求数据类型,HTTP请求方式中8种请求方法(简单介绍)

HTTP工作原理HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行…

上行30m下行200m是多少宽带_套餐内有多少流量,就加送多少流量!电信流量攻势太凶猛!...

虽然6月6日国内发放了5G商用牌照,5G时代正式开启。但是对于用户来说,要想用上5G服务尚需等待一段时间,因为现在5G手机终端尚未普及、5G资费套餐也未出炉、运营商的5G网络还需要通过建设进一步扩大覆盖范围。在5G真正走近用户的前夕&#xff0…

vue项目html引入css,vue项目引入自定义.css的样式文件

ES6的引入方式:.vue文件中css文件引入import "../assets/common/common.css";//自定义.css的样式路径js文件的引入在main.js中:import API from ./assets/api/api.config.jsVue.prototype.$API API;P.S.:传统上,引入cs…

485通信原理_上位机开发之单片机通信实践

经常会有一些学员会问到上位机与单片机之间通信的问题,而我们经常会讲上位机与PLC之间通信,那么其实对上位机开发来说,不管是和PLC通信,还是和单片机通信,通信原理都是一样的。PLC的本质就是单片机,在单片机…

计算机数媒专业优势,27所院校新开设数字媒体艺术专业,“数媒”专业为什么这么火?...

原标题:27所院校新开设数字媒体艺术专业,“数媒”专业为什么这么火?今年2月,教育部公布了2020年度普通高等学校本科专业备案和审批结果。其中,有包括华中农业大学在内的全国27所院校新增备案了“数字媒体艺术”本科专业…

婚宴座位图html5,图解现代婚宴座位安排

中国人衣、食、住、行素来都有“礼”可循。对于婚宴来说更是讲究,桌子的摆放,座位的安排都需要经过深思熟虑。因为小小的桌椅就关系到婚宴的礼仪以及宾客的身份。下面就让专家为我们进行图解婚宴座位安排和礼仪的指导吧!婚礼座位安排&#xf…