文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么在Android应用中添加一个添加物品动画

2023-05-31 08:07

关注

这篇文章将为大家详细讲解有关怎么在Android应用中添加一个添加物品动画,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

开发环境:AndroidStudio2.1.2+gradle-2.10

涉及知识:1.沉浸式状态栏,2.单位精度计算(价格),3.List之Iterator。

部分代码:

public class MainActivity extends AppCompatActivity implements FoodAdapter.FoodActionCallback { private ListView listView; private TextView goods_all_pricetv; private TextView good_numtv; private List<FoodModel> list; private List<FoodModel> selectList = new ArrayList<>(); private FoodAdapter adapter = null; @Override protected void onCreate(@Nullable final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //沉浸式状态栏 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); //透明导航栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } listView = (ListView) findViewById(R.id.listView); goods_all_pricetv = (TextView) findViewById(R.id.goods_all_pricetv); good_numtv = (TextView) findViewById(R.id.good_numtv); findViewById(R.id.goods_submit_tv).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (null != selectList && selectList.size() > 0) { Toast.makeText(MainActivity.this, "你一共加入购物车" + good_numtv.getText() + "份商品,总价格为:" + goods_all_pricetv.getText(), Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "你的购物车为空", Toast.LENGTH_SHORT).show(); } } }); initData(); } private void initData() { list = AppConfig.factoryFoods(); adapter = new FoodAdapter(this, list, this); listView.setAdapter(adapter); } //添加商品动画 @Override public void addAction(View view, int item) { ShoppingCartAnimationView shoppingCartAnimationView = new ShoppingCartAnimationView(this); int position[] = new int[2]; view.getLocationInWindow(position); shoppingCartAnimationView.setStartPosition(new Point(position[0], position[1])); ViewGroup rootView = (ViewGroup) this.getWindow().getDecorView(); rootView.addView(shoppingCartAnimationView); int endPosition[] = new int[2]; good_numtv.getLocationInWindow(endPosition); shoppingCartAnimationView.setEndPosition(new Point(endPosition[0], endPosition[1])); shoppingCartAnimationView.startBeizerAnimation(); FoodModel model = list.get(item); model.setNum(model.getNum() + 1); adapter.notifyDataSetChanged(); calculatePrice(); } //减少商品 @Override public void reduceGood(int position) { FoodModel model = list.get(position); model.setNum(model.getNum() - 1); adapter.notifyDataSetChanged(); calculatePrice(); } //购物车份数+总价格计算 private void calculatePrice() { selectList.clear(); double price = 0; int num = 0; Iterator<FoodModel> iterator = list.iterator(); while (iterator.hasNext()) { FoodModel model = iterator.next(); if (model.getNum() != 0) { selectList.add(model); price += model.getPrice() * model.getNum(); num += model.getNum(); } } goods_all_pricetv.setText("¥" + adapter.priceResult(price) + "元"); good_numtv.setText(num + ""); }}

关于怎么在Android应用中添加一个添加物品动画就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯