网友通过本文主要向大家介绍了自定义组合控件,自定义控件,android 自定义控件,安卓自定义控件,c#自定义控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
自定义数字加减控件,自定义数字控件

1_自定义数字加减控件的要求

创建Module -NumberAddSubView
A_输入的只能是数字,而且不能通过键盘输入
B_通过加减按钮操作数字
C_监听加减按钮
D_数组有最小值和最大值的限制
E_自定义属性
2.提供接口,让外界监听到数字的变化
1_设置接口
@Override
public void onClick(View v) {
if (v.getId() == R.id.btn_sub) {
//Toast.makeText(mContext,"减",Toast.LENGTH_SHORT).show();
subNum();
if (onButtonClickListenter != null) {
onButtonClickListenter.onButtonSubClick(v, value);
}
} else if (v.getId() == R.id.btn_add) {
//Toast.makeText(mContext,"加",Toast.LENGTH_SHORT).show();
addNum();
if (onButtonClickListenter != null) {
onButtonClickListenter.onButtonAddClick(v, value);
}
}
}
public interface OnButtonClickListenter {
/**
* 当增加按钮被点击的时候回调该方法
*
* @param view
* @param value
*/
public void onButtonAddClick(View view, int value);
/**
* 当减少按钮被点击的时候回调这个方法
*
* @param view
* @param value
*/
public void onButtonSubClick(View view, int value);
}
private OnButtonClickListenter onButtonClickListenter;
public void setOnButtonClickListenter(OnButtonClickListenter onButtonClickListenter) {
this.onButtonClickListenter = onButtonClickListenter;
}
2_监听变化
public class MainActivity extends AppCompatActivity {
private NumberAddSubView nb_addsub_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nb_addsub_view = (NumberAddSubView) findViewById(R.id.nb_addsub_view);
nb_addsub_view.setOnButtonClickListenter(new NumberAddSubView.OnButtonClickListenter() {
@Override
public void onButtonAddClick(View view, int value) {
Toast.makeText(MainActivity.this,"AddClick Vaule=="+value,Toast.LENGTH_SHORT).show();
}
@Override
public void onButtonSubClick(View view, int value) {
Toast.makeText(MainActivity.this,"SubClick Vaule=="+value,Toast.LENGTH_SHORT).show();
}
});
}
}
github完整代码:https://github.com/ganchuanpu/NumberAddSubView

