android checkBox的使用

一、前言:之前工作中遇到的checkbox的使用是左边一个复选框,右边一个text。系统学完之后发现那样做的话有点别扭,还是中规中矩的舒坦。记录一下学习经过。

二、代码展示:

1.使用系统自带的checkbox插件。

创建一个CheckBoxActivity

public class CheckBoxActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_check_box);
    }
}

与之对应的xml 



    

效果图展示

报错了

android checkBox的使用_第1张图片

 这里报错,是之前我新建了一个package,把新建的活动存放到这个包下面清单文件找不到所以报错了android checkBox的使用_第2张图片

把app的主入口改成我们新建的app再运行一下 

 android checkBox的使用_第3张图片

还有一个错误是之前创建点9图片的时候在圆图上创建出现了两个一模一样的图片所以报错。综合以上两个问题解决之后就可以了

android checkBox的使用_第4张图片

2.定制checkbox(在上面的代码中修改)

Activity不变

修改xml



    

    


定制复选框代码



    
    

3.使得复选框右边的文字跟随复选框的状态改变

代码展示

新建一个CheckBoxActivity


public class CheckBoxActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_check_box);
        CheckBox ck_system = findViewById(R.id.ck_system);

        ck_system.setOnCheckedChangeListener(this);
    }


    @Override
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
        String desc = String.format("您%s这个checkBox",b ? "勾选":"取消勾选");
        compoundButton.setText(desc);
    }
}

 这里解释一下desc中的东西,%s这个东西叫占位符,当你勾选了checkbox这句文字会变成“您勾选了这个checkbox”,当你取消勾选会显示“您取消勾选了这个checkbox”,就是占位符里面的内容跟随checkbox的状态改变而改变

对应的xml



    












效果展示

android checkBox的使用_第5张图片

 

你可能感兴趣的:(android,java)