详解Android实现购物车页面及购物车效果(点击动画)

详解Android实现购物车页面及购物车效果(点击动画),第1张

概述本文介绍了Android实现购物车页面及购物车效果(点击动画),分享给大家,具体如下:

本文介绍了AndroID实现购物车页面及购物车效果(点击动画),分享给大家,具体如下:

效果图如下:

思路:

(1)思考每个条目中的数字的更新原理。

(2)购物车的动画效果。

(3)购物清单怎么显示(这个我暂时没有写,如果需要的话,可以在我的简书下给我留言)。

1.因为进入页面,所有的商品个数都显示为零,所以我用 ArrayList<HashMap<String,Object>> data,把商品集合都附上零:

    //下面把data都添加0,为了刚开始显示时,显示的是0    for (int i = 0; i < List.size(); i++) {      HashMap<String,Object> myhashmap = new HashMap<String,Object>();      myhashmap.put("number","" + 0);      data.add(myhashmap);    }

然后把data传入Adapter:

adapter = new MyAdapter(data);

当我们对商品进行增减时,我们可以通过hashmap来更改,如下是增加商品的部分代码:

  b = Integer.parseInt((String) data.get(position).get(              "number"));          data.get(position).put("number","" + (b + 1));

2.购物车动画效果:

首先获取点击时的XY坐标,并且设置动画图片:

 // ball是个imagevIEw startLocation = new int[2];// 一个整型数组,用来存储按钮的在屏幕的X、Y坐标          vIEw.getLocationInWindow(startLocation);// 这是获取购买按钮的在屏幕的X、Y坐标(这也是动画开始的坐标)          ball = new ImageVIEw(MainActivity.this);          ball.setimageResource(R.mipmap.sign);// 设置动画的图片我的是一个小球(R.mipmap.sign)

然后是开始执行动画:

   private voID setAnim(final VIEw v,int[] startLocation) {    anim_mask_layout = null;    anim_mask_layout = createAnimLayout(); //创建动画层    anim_mask_layout.addVIEw(v);//把动画小球添加到动画层    final VIEw vIEw = addVIEwToAnimLayout(anim_mask_layout,v,startLocation);    int[] endLocation = new int[2];// 存储动画结束位置的X、Y坐标    re_zhongcai_tanchu.getLocationInWindow(endLocation);// re_zhongcai_tanchu是那个抛物线最后掉落的控件    // 计算位移    int endX = 0 - startLocation[0] + 40;// 动画位移的X坐标    int endY = endLocation[1] - startLocation[1];// 动画位移的y坐标    TranslateAnimation translateAnimationX = new TranslateAnimation(0,endX,0);    translateAnimationX.setInterpolator(new linearInterpolator());    translateAnimationX.setRepeatCount(0);// 动画重复执行的次数    translateAnimationX.setFillAfter(true);    TranslateAnimation translateAnimationY = new TranslateAnimation(0,endY);    translateAnimationY.setInterpolator(new AccelerateInterpolator());    translateAnimationY.setRepeatCount(0);// 动画重复执行的次数    translateAnimationX.setFillAfter(true);    final AnimationSet set = new AnimationSet(false);    set.setFillAfter(false);    set.addAnimation(translateAnimationY);    set.addAnimation(translateAnimationX);    set.setDuration(800);// 动画的执行时间    vIEw.startAnimation(set);    // 动画监听事件    set.setAnimationListener(new Animation.AnimationListener() {      // 动画的开始      @OverrIDe      public voID onAnimationStart(Animation animation) {        v.setVisibility(VIEw.VISIBLE);        //  Log.e("动画","asdasdasdasd");      }      @OverrIDe      public voID onAnimationRepeat(Animation animation) {        // Todo auto-generated method stub      }      // 动画的结束      @OverrIDe      public voID onAnimationEnd(Animation animation) {        v.setVisibility(VIEw.GONE);        set.cancel();        animation.cancel();      }    });  }

需要注意的是,当动画结束必须关闭动画:

  v.setVisibility(VIEw.GONE);        set.cancel();        animation.cancel();

购物车的d出清单功能,我没有写,需要的话,可以去我的简书留言.

github地址:https://github.com/javaexception/ShoppingCart

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的详解Android实现购物车页面及购物车效果(点击动画)全部内容,希望文章能够帮你解决详解Android实现购物车页面及购物车效果(点击动画)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1144730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存