一个简单的购物车加减按钮,自定义控件实现,非常简单,有兴趣的可以自己尝试一下

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.shizhibang.jdcom.R;
public class NumberButton extends RelativeLayout implements View.OnClickListener {private ImageView jia;private ImageView jian;private TextView num;public NumberButton(Context context) {this(context,null);}public NumberButton(Context context, AttributeSet attrs) {this(context, attrs, 0);}public NumberButton(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init(context, attrs);}private void init(Context context, AttributeSet attrs) {View view = View.inflate(context, R.layout.num, null);addView(view);jia = view.findViewById(R.id.jia);jian = view.findViewById(R.id.jian);num = view.findViewById(R.id.num);}private int sum=0;public NumberButton setCurrentNumber(int sum) {this.sum = sum;num.setText(sum+"");return this;}private int MinNumber=0;private int MaxNumber=0;public NumberButton setMinNumber(int minNumber) {MinNumber = minNumber;return this;}public NumberButton setMaxNumber(int maxNumber) {MaxNumber = maxNumber;return this;}public interface OnNumberChangeListener{void OnNumberChangeListener(int sum);}private OnNumberChangeListener onClickListener;public void setOnNumberChangeListener(OnNumberChangeListener onClickListener) {this.onClickListener = onClickListener;jia.setOnClickListener(this);jian.setOnClickListener(this);}@Override
    public void onClick(View view) {switch (view.getId()){case R.id.jia:if (sum>=MaxNumber)return;sum++;break;case R.id.jian:if (sum<=MinNumber)return;sum--;break;}num.setText(sum+"");onClickListener.OnNumberChangeListener(sum);}
}
下面是控件的布局里面的加减号可以自行定义
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:gravity="center"
    android:orientation="horizontal"
    android:layout_height="wrap_content"><ImageView
        android:id="@+id/jian"
    android:layout_width="@dimen/x20"
    android:layout_height="@dimen/x20"
    android:src="@mipmap/jian"/><TextView
        android:id="@+id/num"
        android:layout_width="@dimen/x20"
        android:layout_height="match_parent"
        android:background="@drawable/tvbg"
        android:gravity="center"
        android:text="0"
        android:textSize="20sp" /><ImageView
        android:id="@+id/jia"
        android:layout_width="@dimen/x20"
        android:layout_height="@dimen/x20"
        android:src="@mipmap/jia"/></LinearLayout>
 效果如图所示

一个简单的购物车加减按钮相关推荐

  1. Android开发之购物车加减按钮(附加源码)

    老套路,先看效果图 直接上代码: package com.xiayiye.shopcarnumberadd.view;import android.content.Context; import an ...

  2. 购物车加减计数按钮效果

    input:number样式修改 <!DOCTYPE html> <html lang="en"><head><meta charset= ...

  3. 表单html中加减数字按钮,纯CSS实现数字加减按钮的最佳方案

    前言: 对于数字加减按钮的实现,以前用过不少方案,诸如: 1.使用背景图片--这种效果比较好,缺点是样式控制有点复杂了,还需要使用图片: 2.直接使用"+""-" ...

  4. vue使用组件化思想实现一个简单的购物车页面

    vue使用组件化思想实现一个简单的购物车页面 文章目录 vue使用组件化思想实现一个简单的购物车页面 页面预览 项目结构 组件介绍 主页面ShopCar Header组件 Goods组件 Count组 ...

  5. 加入购物车与购物车加减

    (一)加入购物车 html代码部分: <section class="cart_fixed"> <section class="cart_left&qu ...

  6. vue+element的表格中添加加减按钮的问题

    闲话少说先上效果图: 就是加减按钮能点,而且互不影响点击的效果. 起关键作用的就是在vue中的一个点击事件的控制: @click.prevent=" " 而加了这个是只能点击一次: ...

  7. html加减中间的值不能修改,在移动HTML5页面input类型采用number无法控制长度,以及右边显示难看的加减按钮...

    场景: 这是之前做的移动web控件时遇到的问题.当时在我们控件的HTML5页面需要输入卡号.CV2.手机号.验证码等信息.大家都知道这些值都是数字.普通类型的输入框,当我 们点击时,手机默认掉起的键盘 ...

  8. vue实现一个简单的购物车功能

    今天做了一个简单的购物车功能,主要用了计算属性,指令等知识点,代码如下: <template> <div><div id="cart" v-cloak ...

  9. JavaScript学习(十六)—实现购物车加减数量,计算总金额

    JavaScript学习(十六)-实现购物车加减数量,计算总金额 代码如下: <table border="2" cellspacing="0" soli ...

最新文章

  1. CentOS、Ubuntu、Debian三个linux比较异同
  2. php stripos 返回值,php函数stripos详解
  3. Spring Set注入简化写法1
  4. [bzoj4994][Usaco2017 Feb]Why Did the Cow Cross the Road III_树状数组
  5. 洛谷 P1129 [ZJOI2007]矩阵游戏 解题报告
  6. unity打开一片黑_黑花儿和白花儿——记我家的两只猫星人
  7. 虚拟机virtualBox
  8. nodejs写的HTTP静态文件的引擎(轻量级)
  9. SQL建表语句转换为Excel表格
  10. matlab分析电路,基于Matlab的电路节点分析法
  11. 乱了夏末蓝了海,伤了初冬白了城。
  12. 华为路由器时间同步_系统时间同步的方式
  13. 北京十大律师事务所(排名涉及刑事、拆迁婚姻)
  14. Affinity Derivation and Graph Merge for Instance Segmentation阅读笔记
  15. Linux配置SSH服务器
  16. 如何在Docker容器里开启fail2ban防止SSH暴力破解
  17. RPA 项目经验分享
  18. 黑客术语大全及其解释
  19. linux中隐藏得木马程序,Linux远控分析
  20. 你GitHub的下载速度还没有被解决吗(GitHub怎么快速下载项目)

热门文章

  1. 数据揭示疫情期间电力需求变化,电力企业巧用人工智能应对
  2. input标签的默认样式导致的左上边框和右下边框颜色不一致问题
  3. mysql 数组存储类型_mysql 数组存储类型
  4. python小课网站_攻陷朋友圈的8.9元Python小课,有哪些新套路?
  5. halcon已知多点拟合圆_5.2 halcon实现图像圆的拟合与提取
  6. python字典转换为列表_Python中将字典转换为列表的方法
  7. AAAI22参会见闻与论文杂谈
  8. 前端优化——性能提升
  9. 结合MBTI人格理论探讨爱因斯坦的两次婚姻
  10. 分布式锁解决并发的三种实现方式