组合式自定义控件

来源:互联网 发布:个人博客项目源码下载 编辑:程序博客网 时间:2024/04/27 16:25
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);    }}