多选框

  • 更新时间:2025-12-02 10:12:46

多选框-check

原生类型:{com.google.android.material.checkbox.MaterialCheckBox}

多选框控件{XCheck}是属于{XView}的子控件,因此{XView}中的所有方法,多选框控件都可以调用。

多选框一般用于:用户同意、配置多种选择、筛选数据等场景。

一、基础用法

<ui>
    <statusbar />
    <linear w="max" dir="h" gravity="center">
        <check id="mCheck" text="同意协议"/>
    </linear>
</ui>
let ui = $ui.layout("ui.xml");
ui.show();//显示界面
//找到界面中的元素并且实现点击事件
ui.id("mCheck").onCheck((checked,comButton) => {
    if(checked){
        info("我被选中了");
    }else{
        info("没有被选中");
    }
});

二、常用属性

text - 文本

设置文本

<ui>
    <statusbar />
    <linear w="max" dir="h" gravity="center">
        <check text="多选按钮" />
        <check text="多选按钮" checked="true" />
    </linear>
</ui>

check - 选中

设置选中

<ui>
    <statusbar />
    <linear w="max" dir="h" gravity="center">
        <check text="多选按钮" />
        <check text="多选按钮" check="true" />
    </linear>
</ui>

color - 主题颜色

设置主题颜色

<ui>
    <statusbar />
    <linear w="max" dir="h" gravity="center">
        <check text="多选按钮" color="#B44A4A" />
        <check text="多选按钮" color="#518855" />
    </linear>
</ui>

tint - 按钮颜色

设置按钮颜色

<ui>
    <statusbar />
    <linear w="max" gravity="center" dir="h">
        <check tint="#518855" text="吃饭" checked="true" />
        <check tint="#C94F4F" text="睡觉" checked="true" />
        <check tint="#000000" text="游戏" checked="true" />
    </linear>
</ui>

textColor - 文本颜色

设置文本颜色

<ui>
    <statusbar />
    <linear w="max" gravity="center" dir="h">
        <check textColor="#518855" text="吃饭" />
        <check textColor="#C94F4F" text="睡觉" />
        <check textColor="#000000" text="游戏" />
    </linear>
</ui>

minW - 最小宽度

设置最小宽度

单位:dp

<check minW="100dp" />

minH - 最小高度

设置最小高度

单位:dp

<check minH="100dp" />

padding - 内边距

设置内边距

<ui>
    <statusbar />
    <linear w="max" gravity="center" dir="h">
        <check  padding="5" text="边距:5" />
        <check  padding="20" text="边距:20" />
        <check  padding="40" text="边距:40" />
    </linear>
</ui>

gravity - 对齐方式

设置对齐方式

<ui>
    <statusbar />
    <!-- 为了让重力效果更加直观,这里都让宽度最大 -->
    <check w="max" text="重力:左" gravity="left" />
    <check w="max" text="重力:中" gravity="center" />
    <check w="max" text="重力:右" gravity="right" />
</ui>

bg - 背景颜色

设置背景颜色

<ui>
    <statusbar />
    <linear w="max" gravity="center">
        <check text="背景颜色" bg="#453C39" />
    </linear>
</ui>

bgImg - 背景图片

设置背景图片

<ui>
    <statusbar />
    <linear w="max" gravity="center">
        <check text="背景图片" bgImg="/res/button-bg.png" />
    </linear>
</ui>

三、常用函数

onCheck(callback)

设置选中监听

当选中状态改变时,会回调该函数

注意在1.5.9版本之后,该函数回调的参数顺序为(isChecked,view),之前的版本是(view,isChecked)

  • 参数 : callback {(isChecked,view)=>{}} 选中监听

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置选中监听
mCheck.onCheck((isChecked,view)=>{
    if(isChecked){
        ui.toast("选中");
    }else{
        ui.toast("没有选中");
    }
});

isChecked()

判断是否选中

  • 返回 : {boolean} true:选中,false:没有选中

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//判断是否选中
let is = mCheck.isChecked();
if(is){
    toast("选中");
}else{
    toast("没有选中");
}

check(checked)

设置选中的状态

  • 参数 : checked {boolean} true:选中,false:没有选中

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置选中的状态
mCheck.check(true);

setGravity(gravity)

设置控件的对齐方式

  • 参数 : gravity {String} 例如:"center|bottom"

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置重力
mCheck.setGravity("center");

setText(text)

设置文字

  • 参数 : text {String} 文字

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置文字
mCheck.setText("记住密码");

getText()

获得文字

如果获取的文本为null则返回空字符串

  • 返回 : {String} 文字

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//获得文字
let text = mCheck.getText();

setColor(color)

设置主题颜色

  • 参数 : color {String} 颜色

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置主题颜色
mCheck.setColor("#1E1F22");

setColor(color)

设置主题颜色

  • 参数 : color {int} 颜色

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置主题颜色
mCheck.setColor($color.RED);

setTextColor(color)

设置文字颜色

  • 参数 : color {String} 颜色

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置主题颜色
mCheck.setTextColor("#1E1F22");

setTextColor(color)

设置文字颜色

  • 参数 : color {int} 颜色

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置主题颜色
mCheck.setTextColor($color.RED);

setBg(color)

设置背景颜色

  • 参数 : color {String} 颜色

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置背景颜色
mCheck.setBg("#1E1F22");

setBg(color)

设置背景颜色

  • 参数 : color {int} 颜色

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获得控件
let mCheck = ui.id("mCheck");
//设置背景颜色
mCheck.setBg($color.RED);