分享一个购物车的demo(效果高仿饿了么软件的购物效果)

这次分享的是一个很常见的效果,凡是涉及到购物的app或者旅游类以及订餐类的app都有看到过这种效果,两个list view联动显示,添加购物车时的一个抛物线动画实现,以及图标或者item右上角的数字显示。下面是我空闲时候写的一个demo,界面比较陋,但是基本效果都实现了。

不多说,看效果图:

只对添加按钮做了监听,删除没去写(没什么必要)。

讲一些主要的代码,想下载源码的可以去这里下载(https://github.com/bobge/LinkedListView.git):

左边的listview的item右上角的数字是通过xml方式来显示的:

shape_data.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval"
    android:useLevel="false" >
    <solid android:color="#f00000" />
    <padding
        android:left="2dp"
        android:top="1dp"
        android:right="2dp"
        android:bottom="1dp" />
    <solid
        android:color="#f00000" />
    <size android:width="15dp"
        android:height="15dp" />
</shape>

想要实现圆形中间显示数字只需要设置textview的宽高一样就可以,然后设置textview的一个属性为:

android:background="@drawable/shape_data"

购物车下面那个数字显示我换了一种实现方式:调用BadgeView这个自定义类就能够实现,用法很简单,大家可以搜索一下这个类。

两个listview的联动也很简单:

listView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        list2.clear();
        list2.addAll(list.get(position).getList());
        goodsAdapter.notifyDataSetChanged();
    }
});

只要在左边list view的监听中给右边list view的适配器notifyDataSetChanged就可以了。主要看看我的数据源格式应该就明白了。

抛物线动画效果的实现,这部分网上有很多demo实现,其实原理很简单,首先获取点击的那个位置的坐标:

int[] startLocation = new int[2];// 一个整型数组,用来存储按钮的在屏幕的X、Y坐标
v.getLocationInWindow(startLocation);// 这是获取购买按钮的在屏幕的X、Y坐标(这也是动画开始的坐标)

通过同样的方法计算结束位置(即购物车的位置坐标),然后计算x,y轴上的平移距离,用AnimationSet添加translateAnimationX和translateAnimationY就ok了,具体的可以去下载源码看看。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 21:22:00

分享一个购物车的demo(效果高仿饿了么软件的购物效果)的相关文章

仿饿了么+点餐动画效果

仿饿了么+点餐动画效果 高仿饿了么安卓客户端,有相关方面需求的同学可以参考参考,不喜勿喷... 下载地址:http://www.devstore.cn/code/info/727.html 运行截图:   

《IT蓝豹》高仿花田ios版标签移动效果

高仿花田ios版标签移动效果,长按每一个item拖动到自己想要位置后,后面位置移动补全效果 .本项目适合研究gridview拖拽效果的朋友下载.学习android动画特效.本项目主要靠DragGrid来实现,/** 在拖动的情况 */    private void onDrag(int x, int y , int rawx , int rawy) {        if (dragImageView != null) {            windowParams.alpha = 0.6

基于vue2+nuxt构建的高仿饿了么(2018版)

前言 高仿饿了么,以nuxt作为vue的服务端渲染,适合刚接触或者准备上vue ssr的同学参考和学习 项目地址如遇网络不佳,请移步国内镜像加速节点 效果演示 查看demo请戳这里(请用chrome手机模式预览) 移动端扫描下方二维码 API接口文档 接口文档地址(基于apidoc) 技术栈 vue2 + vuex + vue-router + mint-ui + nuxt 项目运行 git clone [email protected]:EasyTuan/nuxt-elm.git # 国内镜像

高仿QQ即时聊天软件开发系列之三登录窗口用户选择下拉框

上一篇高仿QQ即时聊天软件开发系列之二登录窗口界面写了一个大概的布局和原理 这一篇详细说下拉框的实现原理 先上最终效果图 一开始其实只是想给下拉框加一个placeholder效果,让下拉框在未选择未输入时显示一个提示字符串.由于Background对ComboBox无效,所以直接通过Background来实现是不行了.需要重新写ComboBox的模板,也就是Template,自定义一个模板来实现这个结果.又看了一下QQ的下拉框,这玩意不自定义也难以实现,所以就干脆自定义了. 先上代码,先是Com

高仿QQ即时聊天软件开发系列之二登录窗口界面

继上一篇高仿QQ即时聊天软件开发系列之一开端之后,开始做登录窗口 废话不多说,先看效果,只有界面 可能还有一些细节地方没有做,例如那个LOGO嘛,不要在意这些细节 GIF虽短,可是这做起来真难,好吧因为我没玩过WPF所以难,因为感觉做出来之后也就那样 整体布局 整体是上下分,下面是左中右分 1 <Grid> 2 <Grid.RowDefinitions> 3 <RowDefinition Height="27"><!--用于放窗口右上角关闭.最

高仿&lt;饿了么&gt;源码

高仿饿了么源码 高仿饿了么界面效果,动画效果还是不错滴,分享给大家一下. 下载地址:http://www.devstore.cn/code/info/1110.html 运行截图:    3 热门源码下载: 高仿京东商城 Android快速开发不可或缺的11个工具类 Android快速开发框架LoonAndroid Android应用源码比较不错的新闻客户端 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android -- 真正的 高仿微信 打开网页的进度条效果

(本博客为原创,http://home.cnblogs.com/u/linguanh/) 目录: 一,为什么说是真正的高仿? 二,为什么要搞缓慢效果? 三,我的实现思路 四,代码,内含注释 五,使用方法与截图 六,完整项目 一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下  "仿微信打开网页的进度条效果" ,你会看到有很多类似的文章,不过他们有个共同点,就是实现方法都是一样的,而且,都忽略了微信加载网页时,进度条的缓慢动画效果,它不是生硬地一

【源码分享下载】每日更新之高仿京东商城

高仿京东商城 服务分类: 其他 使用服务: 其他 功能分类: 生活 支持平台: Android 运行环境: Android 开发语言: Java 开发工具: Eclipse 源码大小: 5.51MB 下载地址:http://www.devstore.cn/code/info/87.html 源码简介 仿照京东商城做出的APP(仅实现了部分界面) 源码片段 ? 源码运行截图:

高仿QQ即时聊天软件开发系列之一开端

前段时间在园子里看到一个大神做了一个GG2014IM软件,仿QQ的,那感觉···,赶快下载源码过来试试,还真能直接跑起来,效果也不错.但一看源码,全都给封装到了ESFramework里面了,音视频那部分的源码也给封装到OMCS里面了,这两家伙都是收费的Orz,还能不能好好的看看源码L 大概看了一下GG(为什么每次念这个词都有种怪怪的感觉)的源码,突然想自己也来弄个高仿QQ的软件,平时时间也比较多,就当锻炼吧.别人GG都有个名字,那我也起个名字吧,就叫CC吧 决定了就开始安排 第一个问题,界面框架