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

不多说,看效果图:

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

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

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

shape_data.xml
[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <shape
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:shape="oval"
  5. android:useLevel="false" >
  6. <solid android:color="#f00000" />
  7. <padding
  8. android:left="2dp"
  9. android:top="1dp"
  10. android:right="2dp"
  11. android:bottom="1dp" />
  12. <solid
  13. android:color="#f00000" />
  14. <size android:width="15dp"
  15. android:height="15dp" />
  16. </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了,具体的可以去下载源码看看。

android 仿饿了么购物车相关推荐

  1. android 购物车 简书,Android仿饿了么购物车效果

    先看下效果图: ezgif-1-8f133ca916.gif 1.首先列表布局采用Recycleview android:id="@+id/container" android:l ...

  2. 仿饿了么购物车下单效果

    文章目录 仿饿了么购物车下单效果 效果图如下 主要的功能 主要功能实现 分类及商品及购物车里面商品数量的联动效果 底部购物车商品列表 添加商品是有0到1,减少商品有1到0动画效果 下单动画 仿饿了么购 ...

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

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

  4. Android仿饿了么搜索功能

    仿饿了么搜索框 这里采用的是pupupWindow来实现,一个全屏的popupWindow里面放各个View做对应操作 首先是activity_popup.xml布局,很简单,就一个带背景的TextV ...

  5. Android仿饿了么加减控件,Flutter + Native混合栈仿饿了么APP

    前言 一个基于Flutter + Native混合开发的APP,请求数据均人为制造. 目前仅上传Android版本,iOS暂未上传 APK下载 Github地址 效果图: 实现功能: 首页 使用百度定 ...

  6. android仿饿了么筛选,Android仿饿了么搜索功能

    仿饿了么搜索框 这里采用的是pupupWindow来实现,一个全屏的popupWindow里面放各个View做对应操作 首先是activity_popup.xml布局,很简单,就一个带背景的TextV ...

  7. Vuex仿饿了么购物车功能

    饿了么购物车功能 今天通过Vuex完成了基本的购物车功能,对Vuex的store和mutation有了进一步认识. 实现购物车所需要的数据 store作为可以全局访问的数据仓库,满足了我们在任意一个组 ...

  8. Android之仿饿了吗购物车抛物线动画

    一:效果图. 二:实现的步骤: 1.在主工程build.gradle文件下加入包并引用,这个必须得要 compile 'com.android.support:design:23.3.0' compi ...

  9. Android仿淘宝加入购物车布局效果

    实现效果: 思路:点击购物车弹出一个PopupWindow,主要弄清楚的是PopupWindow的高度以及透明度,图片的位置,图片下层布局的高度(它的高度比popup的低一些).PopupWindow ...

最新文章

  1. swagger error: Conflicting schemaIds: Duplicate schemaIds detected for types A and B
  2. C#中Dispose和Close的区别
  3. 世界围棋人机大战、顶峰对决第一盘:围棋世界冠军Lee Sedol(李世石,围棋职业九段)对战Google DeepMind AlphaGo围棋程序,Google AlphaGo首战告捷
  4. hbase 按时刻查询_HBase读写优化
  5. android progressbar动态,如何在android中动态启动和完成progressBar
  6. Android]Android字体高度的研究
  7. leetcode 452. Minimum Number of Arrows to Burst Balloons | 452. 用最少数量的箭引爆气球(左程云:最大线段重合问题)
  8. labimage 怎样旋转图片_大理石旋转楼梯的测量方法,你学会了吗?
  9. 浅谈 Spring 框架注解的用法分析
  10. php 去掉url中的index.php,php 去掉url中的index.php
  11. bigemap地图下载器优势分析
  12. 云溪云原生分布式数据库安全功能以及实现介绍
  13. java中xom是啥包?_XML问题,XOM Java XML API
  14. 版本号规范,镜像版本SNAPSHOT,LATEST 和 RELEASE 版本
  15. 怎么恢复永久删除的文件
  16. Linux之无人值守安装系统
  17. Rabbit的字符串
  18. 本科就学人工智能有意义吗?
  19. 牛客 小米校招 计算题 单调栈 接雨水
  20. Excel2019关闭时无响应

热门文章

  1. 实验组和对照组的样本量一定要“均衡”才行?
  2. 电脑录屏怎么添加水印?这个好方法掌握了吗
  3. oracle 的setup没反应,win10系统下setup.exe打不开没反应如何解决
  4. 瞄准MSP市场风口,Bespin为企业转型保驾护航
  5. (干货)换宝贝技术升级!日销暴涨2000件,SKU改价不降权
  6. 怎么将heic格式的图片转换成jpg格式呢?
  7. 中秋节的HTML5制作,中秋节视频制作教程大放送-会声会影中文官网
  8. 水果忍者激战版的开发心得
  9. 童年游戏机项目,每天被动收入200+
  10. 【发射极接地 共射级放大电路 原理讲解与元器件取值 (详细参数说明)+multisim仿真】