你的位置:首页 > 操作系统

[操作系统]硅谷商城2


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

 创建Module -NumberAddSubView

A_输入的只能是数字,而且不能通过键盘输入

B_通过加减按钮操作数字

C_监听加减按钮

D_数组有最小值和最大值的限制

E_自定义属性

 

2_提供接口,让外界监听到数字的变化

1_设置接口

@Overridepublic 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