您的位置:首页 > 其它

硅谷商城2--自定义数字加减控件

2016-11-06 12:27 381 查看


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();
}
});
}
}


3_自定义属性

<com.atguigu.numberaddsubview.NumberAddSubView
android:id="@+id/nunber_add_sub_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
atguigu:value="3"
atguigu:minValue="2"
atguigu:maxValue="15"
atguigu:numberAddSubBackground="@drawable/number_add_sub_view_selector"
atguigu:numberSubBackground="@drawable/btn_number_selector"
atguigu:numberAddBackground="@drawable/btn_number_selector"
/>


  

github完整代码:https://github.com/ganchuanpu/NumberAddSubView
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: