广告
返回顶部
首页 > 资讯 > 移动开发 >Android 购物车加减功能的实现代码
  • 802
分享到

Android 购物车加减功能的实现代码

购物车Android 2022-06-06 16:06:34 802人浏览 安东尼
摘要

Android 实现购物车加减功能,效果图如下所示: public class adderView extends LinearLayout implements View

Android 实现购物车加减功能,效果图如下所示:

在这里插入图片描述


public class adderView extends LinearLayout implements View.OnClickListener, TextWatcher {
 private int amount = 0; //购买数量
 private int Goods_storage = Integer.MAX_VALUE; //商品库存
 private OnAmountChangeListener mListener;
 private EditText etAmount;
 private Button btnDecrease;
 private Button btnIncrease;
 public adderView(Context context) {
  this(context, null);
 }
 public adderView(Context context, AttributeSet attrs) {
  super(context, attrs);
  LayoutInflater.from(context).inflate(R.layout.number_adder, this);
  etAmount = (EditText) findViewById(R.id.etAmount);
  btnDecrease = (Button) findViewById(R.id.btnDecrease);
  btnIncrease = (Button) findViewById(R.id.btnIncrease);
  btnDecrease.setOnClickListener(this);
  btnIncrease.setOnClickListener(this);
  etAmount.addTextChangedListener(this);
  TypedArray obtainStyledAttributes = getContext().obtainStyledAttributes(attrs, R.styleable.AmountView);
  int btnWidth = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_btnWidth, 100);
  int tvWidth = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_tvWidth, 200);
  int tvTextSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_tvTextSize, 0);
  int btnTextSize = obtainStyledAttributes.getDimensionPixelSize(R.styleable.AmountView_btnTextSize, 0);
  obtainStyledAttributes.recycle();
  LayoutParams btnParams = new LayoutParams(btnWidth, LayoutParams.MATCH_PARENT);
  btnDecrease.setLayoutParams(btnParams);
  btnIncrease.setLayoutParams(btnParams);
  if (btnTextSize != 0) {
   btnDecrease.setTextSize(TypedValue.COMPLEX_UNIT_PX, btnTextSize);
   btnIncrease.setTextSize(TypedValue.COMPLEX_UNIT_PX, btnTextSize);
  }
  LayoutParams textParams = new LayoutParams(tvWidth, LayoutParams.MATCH_PARENT);
  etAmount.setLayoutParams(textParams);
  if (tvTextSize != 0) {
   etAmount.setTextSize(tvTextSize);
  }
 }
 public void setOnAmountChangeListener(OnAmountChangeListener onAmountChangeListener) {
  this.mListener = onAmountChangeListener;
 }
 public void setGoods_storage(int goods_storage) {
  this.goods_storage = goods_storage;
 }
 public void setTextCount(int count){
  this.amount = count;
  this.etAmount.setText(amount+"");
 }
 @Override
 public void onClick(View v) {
  int i = v.getId();
  if (i == R.id.btnDecrease) {
   if (amount > 0) {
    amount--;
    etAmount.setText(amount + "");
   }
  } else if (i == R.id.btnIncrease) {
   if (amount < goods_storage) {
    amount++;
    etAmount.setText(amount + "");
   }
  }
  etAmount.clearFocus();
  if (mListener != null) {
   mListener.onAmountChange(this, amount);
  }
 }
 @Override
 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
 }
 @Override
 public void onTextChanged(CharSequence s, int start, int before, int count) {
 }
 @Override
 public void afterTextChanged(Editable s) {
  if (s.toString().isEmpty())
   return;
  amount = Integer.valueOf(s.toString());
  if (amount > goods_storage) {
   etAmount.setText(goods_storage + "");
   return;
  }
  if (amount == 0){
//   btnDecrease.setBackgroundResource(R.drawable.jian);
  }
  if (amount > 0){
//   btnDecrease.setBackgroundResource(R.drawable.lvjian);
  }
  if (mListener != null) {
   mListener.onAmountChange(this, amount);
  }
 }
 public interface OnAmountChangeListener {
  void onAmountChange(View view, int amount);
 }

<?xml version="1.0" encoding="utf-8"?>
<com.zhy.autolayout.AutoLinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="90px"
 android:focusable="true"
 android:divider="@drawable/divder"
 android:background="@drawable/bg_amout_layout"
 android:showDividers="middle"
 android:orientation="horizontal">
 <Button
  android:id="@+id/btnDecrease"
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:layout_weight="1"
  android:gravity="center"
  android:background="@drawable/jian"/>
 <EditText
  android:id="@+id/etAmount"
  android:layout_width="200px"
  android:layout_height="match_parent"
  android:minWidth="150px"
  android:layout_weight="2"
  android:background="@null"
  android:inputType="number"
  android:textSize="13sp"
  android:text="0"
  android:gravity="center"/>
 <Button
  android:id="@+id/btnIncrease"
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:layout_weight="1"
  android:gravity="center"
  android:background="@drawable/jia"/>
</com.zhy.autolayout.AutoLinearLayout>

到此这篇关于Android 购物车加减功能的实现代码的文章就介绍到这了,更多相关android 购物车加减内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文章:Android组合式自定义控件实现购物车加减商品操作Android自定义商品购买数量加减控件


--结束END--

本文标题: Android 购物车加减功能的实现代码

本文链接: https://www.lsjlt.com/news/29884.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android 购物车加减功能的实现代码
    Android 实现购物车加减功能,效果图如下所示: public class adderView extends LinearLayout implements View...
    99+
    2022-06-06
    购物车 Android
  • 用django实现购物车的商品加减功能
    首先写出html代码 <button goodsid="{{ good.id }}" class="subShopping">-</button> ...
    99+
    2023-01-30
    购物车 加减 功能
  • php如何实现一个购物车加减功能
    这篇文章主要介绍“php如何实现一个购物车加减功能”,在日常操作中,相信很多人在php如何实现一个购物车加减功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何实现一个购物车加减功能”的疑惑有所帮助!...
    99+
    2023-07-06
  • js实现购物车加减以及价格计算功能
    本文实例为大家分享了js实现购物车加减以及价格计算的具体代码,供大家参考,具体内容如下 需求说明: 1、单击“半闭”按钮时,关闭当前页面购物车页面 2、单击“移入收藏”弹出收藏提示 ...
    99+
    2022-11-12
  • Flutter实现购物车功能(代码+逻辑)
    目录一、初始化时判断是否为登录状态二、分析点击全选和非全选状态三、改变单个物品check四、点击数量增加和减少按钮改变当前显示number值五、长按删除数据一、初始化时判断是否为登录...
    99+
    2022-11-13
  • Android实现简单购物车功能
    本文实例为大家分享了Android实现购物车功能的具体代码,供大家参考,具体内容如下MainActivity布局:<?xml version="1.0" encoding="utf-8"?><LinearL...
    99+
    2023-05-30
    android 购物车 roi
  • Android怎么实现购物车功能
    要实现购物车功能,你可以按照以下步骤进行操作:1. 创建一个购物车实体类,包含商品的名称、价格、数量等信息。2. 在你的应用程序中创...
    99+
    2023-08-16
    Android
  • JS实现简单加减购物车效果
    本文实例为大家分享了JS实现简单加减购物车的具体代码,供大家参考,具体内容如下 1.书写input输入框作为加减实现的效果。 2.加减按钮用button按钮来实现 3.利用js控制i...
    99+
    2022-11-12
  • javaweb实现购物车功能
    本篇文章讲的是如何使用javaweb相关知识模拟购物车功能 (web练手小项目) 使用到的相关知识(部分知识点在文章中简单涉及到):        html  cs  javascript  jsp  servlet   ajax  jQu...
    99+
    2023-10-24
    mybatis java mysql servlet tomcat
  • python实现购物车功能
    本文实例为大家分享了python实现购物车功能的具体代码,供大家参考,具体内容如下 功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买...
    99+
    2022-11-13
  • jquery实现购物车功能
    本文实例为大家分享了jquery实现购物车功能的具体代码,供大家参考,具体内容如下 html ​<!DOCTYPE html> <html> ...
    99+
    2022-11-12
  • python购物车功能实现
    name = "gaowang" pwd = "123.abc" list_he=[]          #定义空列表,后面接收 for i in range(3):     username = input("请输入您的账号:")    ...
    99+
    2023-01-31
    购物车 功能 python
  • Android中RecyclerView实现简单购物车功能
    Android中RecyclerView实现简单的购物车,供大家参考,具体内容如下 我们知道在ListView中用setTag来解决Item的复用问题,但是RecyclerView中...
    99+
    2022-11-13
  • php怎么实现加入购物车功能
    要实现加入购物车功能,可以按照以下步骤进行:1. 创建一个购物车页面,展示用户已经添加到购物车中的商品列表。2. 在商品详情页面或者...
    99+
    2023-08-15
    php
  • php实现简单加入购物车功能
    以下是一个简单的PHP代码示例,实现了一个简单的加入购物车功能。```php```使用上述代码,可以通过发送POST请求将商品加入购...
    99+
    2023-08-15
    PHP
  • Android实现仿淘宝购物车增加和减少商品数量功能demo示例
    本文实例讲述了Android实现仿淘宝购物车增加和减少商品数量功能。分享给大家供大家参考,具体如下: 在前面一篇《Android实现的仿淘宝购物车demo示例》中,小编简单的介...
    99+
    2022-06-06
    淘宝 demo 购物车 Android
  • js实现购物车加减和价格运算
    本文实例为大家分享了js实现购物车加减和价格运算的具体代码,供大家参考,具体内容如下 主要实现功能:购物车的加减,单件商品价格的运算,总价格的运算。价格保留两位小数。 <...
    99+
    2022-11-12
  • 如何用vuex代码实现简单的购物车功能
    这篇“如何用vuex代码实现简单的购物车功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2022-10-19
  • php购物增加减少功能如何实现
    本文小编为大家详细介绍“php购物增加减少功能如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“php购物增加减少功能如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php实现购物增加减少的方法:1、...
    99+
    2023-07-04
  • Android实现购物车及其他功能的角标
    1.先来张效果图 2.自定义一个角标工具类BottomBarView 。 ** * Created by Administrator on 2016/12/27. * ...
    99+
    2022-06-06
    购物车 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作