public class AddSubView extends LinearLayout implements View.OnClickListener {
private ImageView btn_sub;
private ImageView btn_add;
private TextView tv_count;
private int value = 0;
private int minValue = 0;
private int maxValue = 100;
public AddSubView(Context context) {
this(context, null);
}
public AddSubView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public AddSubView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
View view = View.inflate(context, R.layout.add_sub_layout, this);
btn_sub = (ImageView) findViewById(R.id.iv_minus);
btn_add = (ImageView) findViewById(R.id.iv_plus);
tv_count = (TextView) findViewById(R.id.tv_number);
getValue();
// 设置点击事件
btn_add.setOnClickListener(this);
btn_sub.setOnClickListener(this);
//设置状态
setStatus();
}
private void setStatus() {
//设置状态
if (value == 0) {
btn_sub.setVisibility(INVISIBLE);
tv_count.setVisibility(INVISIBLE);
} else {
btn_sub.setVisibility(VISIBLE);
tv_count.setVisibility(VISIBLE);
}
}
public int getValue() {
String countStr = tv_count.getText().toString().trim();//文本内容
if (countStr != null) {
value = Integer.valueOf(countStr);
}
return value;
}
public void setValue(int value) {
this.value = value;
setStatus();
tv_count.setText(String.valueOf(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 view) {
if (view.getId() == R.id.iv_plus) {
// 加
addNumber();
if (onNumberChangeListener != null) {
onNumberChangeListener.addNumber(view, value);
}
} else {
// 减
subNumber();
if (onNumberChangeListener != null) {
onNumberChangeListener.subNumner(view, value);
}
}
}
private void subNumber() {
if (value > minValue) {
value -= 1;
}
setStatus();
setValue(value);
}
private void addNumber() {
if (value < maxValue) {
value += 1;
}
setStatus();
setValue(value);
}
public interface OnNumberChangeListener {
// 当按钮被点击的时候回调
void addNumber(View view, int value);
void subNumner(View view, int value);
}
private OnNumberChangeListener onNumberChangeListener;
public void setOnNumberChangeListener(OnNumberChangeListener
onNumberChangeListener) {
this.onNumberChangeListener = onNumberChangeListener;
}
}
···
自定义增加删除按钮
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- Copyright © 2017年ZaneWangWang. All rights reserved. 最近...
- 最近遇到UITableView左划删除的需求,并需要删除按钮的背景颜色、增加图片等要求,于是研究了哈,在这记录一下...
- http://blog.csdn.net/u010519146/article/details/42882635
- 自定义tabber,就是创建自己的tabbar盖在系统的tabbar上面 //自定义tabbar GJWTabBa...