Android_购物车实现输入加减功能
来源:互联网 发布:latex mac 编辑:程序博客网 时间:2024/05/17 22:18
效果图:特别注意:布局里面背景图使用的是自己绘制的形状图,xml文件,
自定义布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwie.sca.MainActivity"> <EditText android:layout_width="80dp" android:layout_height="wrap_content" /> <Button android:id="@+id/jian" android:layout_width="30dp" android:layout_height="30dp" android:layout_centerVertical="true" android:layout_marginLeft="110dp" android:background="@drawable/border_radius" android:text="-" android:textSize="24sp" /> <EditText android:id="@+id/ed_num" android:layout_width="80dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_marginLeft="70px" android:background="@drawable/edit_border" android:gravity="center" android:text="1" android:textSize="24sp" /> <Button android:id="@+id/jia" android:layout_width="30dp" android:layout_height="30dp" android:layout_centerInParent="true" android:layout_marginLeft="12dp" android:layout_toRightOf="@id/ed_num" android:background="@drawable/border_radius" android:text="+" android:textSize="24sp" /> <!-- <TextView android:id="@+id/jian" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@color/colorAccent" android:layout_weight="1" android:gravity="center" android:padding="10dp" android:text="-"/> <EditText android:id="@+id/ed_num" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_weight="1" android:text="1"/> <TextView android:id="@+id/jia" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@color/colorAccent" android:gravity="center" android:layout_weight="1" android:padding="10dp" android:text="+"/>--></RelativeLayout>
自定义View代码
package com.bwie.sca;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Color;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RelativeLayout;import static java.lang.Integer.parseInt;/** * author:Created by ZhangPengFei on 2017/11/30. */public class Shopping extends RelativeLayout implements View.OnClickListener { private int count = 1; private int max = 10; private int defaultColor = Color.RED; private EditText ed_num; private Button jia; private Button jian; public Shopping(Context context) { this(context, null); } public Shopping(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public Shopping(final Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); //将自定义属性与当前的这个自定组合控件进行关联 TypedArray ta = context.getTheme().obtainStyledAttributes(attrs, R.styleable.Shopping, defStyleAttr, 0); //得到集合中的背景颜色属性,如果没有,用默认的颜色 int color = ta.getColor(R.styleable.Shopping_bgcolor, defaultColor); View view = View.inflate(context, R.layout.layout_shop, this); jian = view.findViewById(R.id.jian); jia = view.findViewById(R.id.jia); ed_num = view.findViewById(R.id.ed_num); //设置点击事件 jian.setOnClickListener(this); jia.setOnClickListener(this); } public interface NumberLisner { void callBack(int count); } private NumberLisner numberLisner; public void setNumberlistener(NumberLisner numberlistener) { this.numberLisner = numberlistener; } //定义一个方法,给调用者设置最大商品数量 public void setGoodsMax(int max) { this.max = max; } @Override public void onClick(View view) { switch (view.getId()) { case R.id.jian: { if (Integer.parseInt(ed_num.getText().toString()) > 1) {// count--; int jians = Integer.parseInt(ed_num.getText().toString()); ed_num.setText(""+(jians-1)); numberLisner.callBack(Integer.parseInt(ed_num.getText().toString())); }else { Log.e("qweqweqwe","宝贝已经是最小数目了"); } } break; case R.id.jia:{ if (Integer.parseInt(ed_num.getText().toString()) < 10) {// count++; int jias = Integer.parseInt(ed_num.getText().toString()); ed_num.setText(""+(jias+1)); numberLisner.callBack(parseInt(ed_num.getText().toString())); }else { Log.e("asdasd","宝贝已经达到上限了"); } } break; } }}
Activity_main布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.bwie.sca.MainActivity"> <com.bwie.sca.Shopping android:id="@+id/aa" android:layout_width="wrap_content" android:layout_height="wrap_content"></com.bwie.sca.Shopping></RelativeLayout>
MainActivity代码
package com.bwie.sca;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;public class MainActivity extends AppCompatActivity { private Shopping test; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); test = (Shopping) findViewById(R.id.aa); test.setNumberlistener(new Shopping.NumberLisner(){ @Override public void callBack(int count) { } }); }}
阅读全文
0 0
- Android_购物车实现输入加减功能
- 购物车实现加减
- javascript实现购物车加减
- android 购物车加减器功能代码
- jQuery实现购物车数字加减效果
- ajax实现购物车中的加减
- Android实现购物车加减器控件
- 购物车加减的简单实现
- Jquery仿美团外卖等食品选择页面购物车数量加减功能实现
- 购物框数量加减功能
- android_购物车
- Android_添加购物车
- Android_查询购物车
- Android_删除购物车
- 购物车实现功能
- 购物车功能实现
- 购物车功能实现
- 购物车功能实现
- iptables小案例
- 文章标题
- Kali linux渗透测试第一步:侦查
- 正则表达式
- 7.3
- Android_购物车实现输入加减功能
- Markdown语法
- 组合数的代码实现
- 文章标题
- 利用mybatis-generator自动生成代码
- ZOJ Problem Set
- javaEE从数据库中取数据的坑
- 自定义ViewGroup与view 的基本用法与特性
- java 枚举 类型