public class jiajian extends FrameLayout implements View.OnClickListener { private Button jia; private Button jian; private TextView te; private Integer integer; private ss ff; //定义的一个共有的方法 public void jiajian(ss s) { this.ff = s; } public jiajian(@NonNull Context context) { this(context, null); } public jiajian(@NonNull Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public jiajian(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); //加载自己定义的的布局 View view = View.inflate(context, R.layout.jianjian_layout, this); //获取加按钮并设置点击事件 jia = findViewById(R.id.jia); jia.setOnClickListener(this); //获取减按钮并设置点击事件 jian = findViewById(R.id.jian); jian.setOnClickListener(this); //获取textview的控件 te = findViewById(R.id.te); //获取attrs文件中的所有name的集合 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.jiajian); //获取name集合中的字体颜色的name int color = typedArray.getColor(R.styleable.jiajian_bt_color, 0); int color2 = typedArray.getColor(R.styleable.jiajian_bt1_color, 0xffff0000); //获取获取name集合中的字体大小的name int dimension = (int) typedArray.getDimension(R.styleable.jiajian_layout_width, 0); //获取获取name集合中的背景的name int color1 = typedArray.getColor(R.styleable.jiajian_background123,0xffff0000); //销毁 typedArray.recycle(); //判断字体颜色的name是否等于0 if (color!=0){ //如果不等于0 给需要设置的控件设置字体颜色 jia.setTextColor(color); } //判断字体大小的name是否等于0 if (dimension>0){ //如果不等于0 给需要设置的控件设置字体大小 jia.setTextSize(dimension); } //给需要设置的控件设置背景颜色 jia.setBackgroundColor(color1); jian.setTextColor(color2); //jian.setTextSize(dimension); //jian.setBackgroundColor(color1); } //点击事件 @Override public void onClick(View v) { switch (v.getId()) { //减的方法 case R.id.jian: //获取textview的值 int i = get(); //判断i是否为小于或等于0 if (i <= 0) { //如果是小于或等于0就设置按钮不可用 jian.setEnabled(false); } else { //如果不是小于或等于0就设置按钮可用 jian.setEnabled(true); //textview的值-- i--; //判断i是否为小于或等于0 if (i <= 0) { //如果是小于或等于0就设置textview的值=1 i = 1; } } //给textview赋值 te.setText(i + ""); break; //加的方法 case R.id.jia: //获取textview的值 int i1 = get(); //判断i是否为小于或等于0 if (i1 <= 0) { //如果是小于或等于0就设置按钮不可用 jian.setEnabled(false); } else { //如果不是小于或等于0就设置按钮可用 jian.setEnabled(true); //textview的值++ i1++; } //给textview赋值 te.setText(i1 + ""); break; } } //自己定义的接口 interface ss { public void getcount(int count); } //获取textview的值得方法 public int get() { int d = 0; //获取textview的值 String s = te.getText().toString(); if (TextUtils.isEmpty(s)) { d = 1; } return Integer.valueOf(s); } }
加减器
最新推荐文章于 2023-01-16 10:57:29 发布