Android自定义购物车加减按钮
2017-11-21 14:23
417 查看
前言
一个简单的小控件的使用,代码简单,使用方便效果图
代码示例
layout/number_adder.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"> <ImageView android:id="@+id/btn_reduce" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@mipmap/reduce" android:textSize="20sp" /> <TextView android:id="@+id/tv_count" android:layout_width="50dp" android:layout_height="40dp" android:gravity="center" android:text="1" android:textColor="#000" android:textSize="20sp" /> <ImageView android:id="@+id/btn_add" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@mipmap/add" android:textSize="20sp" /> </LinearLayout>
自定义view代码
package adpickerview.zbxxjl.com.addersubtractor; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import butterknife.OnClick; /** * Created by Administrator on 2017/11/20. */ public class adderView extends LinearLayout implements View.OnClickListener { private int value = 1; private int minValue = 1; private int maxValue = 10; private final TextView tvCount; public adderView(Context context, AttributeSet attrs) { super(context, attrs); View view = View.inflate(context, R.layout.number_adder, this); ImageView btn_reduce = (ImageView) view.findViewById(R.id.btn_reduce); tvCount = (TextView) view.findViewById(R.id.tv_count); ImageView btn_add = (ImageView) view.findViewById(R.id.btn_add); btn_reduce.setOnClickListener(this); btn_add.setOnClickListener(this); //设置默认值 int value = getValue(); setValue(value); } @OnClick({R.id.btn_reduce, R.id.btn_add}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.btn_reduce://减 reduce(); break; case R.id.btn_add://加 add(); break; } } /** * 如果当前值大于最小值 减 */ private void reduce() { if (value > minValue) { value--; } setValue(value); if (onValueChangeListene != null) { onValueChangeListene.onValueChange(value); } } /** * 如果当前值小于最小值 加 */ private void add() { if (value < maxValue) { value++; } setValue(value); if (onValueChangeListene != null) { onValueChangeListene.onValueChange(value); } } //获取具体值 public int getValue() { String countStr = tvCount.getText().toString().trim(); if (countStr != null) { value = Integer.valueOf(countStr); } return value; } public void setValue(int value) { this.value = value; tvCount.setText(value + ""); } public int getMinValue() { return minValue; } public void setMinValue(int minValue) { this.minValue = minValue; } public int getMaxValue() { return maxValue; } public void setMaxValue(int maxValue) { this.maxValue = maxValue; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_reduce://减 reduce(); break; case R.id.btn_add://加 add(); break; } } //监听回调 public interface OnValueChangeListener { public void onValueChange(int value); } private OnValueChangeListener onValueChangeListene; public void setOnValueChangeListene(OnValueChangeListener onValueChangeListene) { this.onValueChangeListene = onValueChangeListene; } }
Activity代码
package adpickerview.zbxxjl.com.addersubtractor; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import butterknife.Bind; import butterknife.ButterKnife; public class MainActivity extends AppCompatActivity { @Bind(R.id.adderview) adderView adderview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); //监听 adderview.setOnValueChangeListene(new adderView.OnValueChangeListener() { @Override public void onValueChange(int value) { ToastUtils.show(MainActivity.this, value + ""); } }); } }
最后github地址:https://github.com/787060894/adderSubtractor
相关文章推荐
- Android——自定义View之购物车的加减
- 【Android开发 自定义进度条】既有加减按钮又能用手滑动的进度条
- Android使用自定义View实现购物车的加减
- 购物车自定义加减按钮
- Android——自定义View之购物车的加减
- Android自定义控件之购物车数量加减器
- Android——自定义View之购物车的加减
- 在Android中自定义IOS风格的按钮
- Android EditText 自定义带删除按钮
- android自定义ImageButton按钮的按下效果的代码实现
- Android开发自定义View之滑动按钮与自定义属性
- 自定义按钮实现Android 返回按钮事件
- Android 自定义EditText输入框带清空按钮
- android实现自定义图片+文字按钮
- Android-自定义输入法的功能按钮
- android 自定义多功能按钮(转盘样式)
- Android 自定义实现switch开关按钮
- Android 自定义的Dialog,点击确定按钮,让其根据条件判断消失与否
- android总结整理----(1)自定义按钮实现
- Android自定义TimeButton实现倒计时按钮