1.类继承ViewGroup下的任意自定义控件* 2.覆写他的构造方法
一共三个方法
1.创建对象的时候
2.XML中使用的时候回调
3.在XML中使用,且使用Style风格中.
private void initView(Context context) { //把一个布局文件实例化,并且加载到AddSuVIew类中 View inflate = View.inflate(context, R.layout.add_sub_view, this); //初始化控件 mIv_sub = (ImageView) inflate.findViewById(R.id.iv_sub); mIv_add = (ImageView) inflate.findViewById(R.id.iv_add); mTv_value = (TextView) inflate.findViewById(R.id.tv_value); mIv_add.setOnClickListener(this); mIv_sub.setOnClickListener(this); //获取Value值 int value = getValue(); //设置valus的值 setValue(value); } //当前数量值,默认为1,设置对此值获取. private int value =1; /** * 这里获取Value是从UI那里拿到值 * @return */ public int getValue() { String trim = mTv_value.getText().toString().trim(); if (!TextUtils.isEmpty(trim)){ //获取出来,因为其值是字符串,所以要进行Int型转换 value =Integer.valueOf(trim); } return value; } public void setValue(int value) { mValue = value; mTv_value.setText(value+""); } //ImageView按钮的点击事件 @Override public void onClick(View view) { switch (view.getId()) { //添加 case R.id.iv_add: addNumber(); break; //减少 case R.id.iv_sub: subNumber(); break; default: break; } } private void addNumber() { value++;这里面添加方法 setValue(value); } private void subNumber() { value--;这里面添加方法 setValue(value); } }
组合式自定义控件
最新推荐文章于 2022-03-10 10:17:03 发布