编辑框

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

编辑框-edit

原生类型:{androidx.appcompat.widget.AppCompatEditText}

这是一种小巧的输入框

edit比input输入框更加小巧一些,是安卓原生拓展库的组件,而input输入框是M3风格的组件。

一、常用属性

hint - 提示文本

设置提示文本

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit hint="请输入:" />
    </linear>
</ui>

text - 文本

设置文本

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit text="文字内容" />
    </linear>
</ui>

textColor - 文本颜色

设置文本颜色

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit text="文字内容" textColor="#57965C" />
    </linear>
</ui>

def - 默认文本

设置默认文本

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit def="默认文本" />
    </linear>
</ui>

type - 输入内容的类型

输入内容的类型

可选值: pass:密码, num:数字, phone:手机号

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit text="abcdef" type="pass" />
    </linear>
</ui>

size - 文本尺寸

设置文本尺寸

单位:sp

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit size="16" text="文本大小:16" />
        <edit size="20" text="文本大小:20" />
    </linear>
</ui>

minW - 最小宽度

设置最小宽度

单位:dp

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit minW="300" text="最小宽度:300" />
        <edit text="正常宽度" />
    </linear>
</ui>

minH - 最小高度

设置最小高度

单位:dp

<edit minH="100" />

gravity - 布局重力

设置布局重力

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit w="max" gravity="center" text="我的文本" />
    </linear>
</ui>

padding - 布局内边距

设置布局内边距

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit padding="20" text="我的文本" />
    </linear>
</ui>

bg - 背景颜色

设置背景颜色

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit bg="#518855" text="我的文本" />
    </linear>
</ui>

bgImg - 背景图片

设置背景图片

<ui>
    <statusbar />
    <linear padding="50" w="max" gravity="center">
        <edit bgImg="/res/bg-edit.png" text="我的文本" textColor="#FFFFFF" gravity="center" />
    </linear>
</ui>

二、常用函数

getText()

获取输入框内容

  • 返回 : {string} 内容

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获取控件
let edit = ui.id("mEdit");
//获取输入框内容
let text = edit.getText();

setError(msg)

设置异常信息提示

  • 参数 : msg {string} 异常提示

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获取控件
let edit = ui.id("mEdit");
//设置异常信息提示
edit.setError("输入内容不能为空");

setText(text)

设置文字

  • 参数 : text {string} 文字内容

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获取控件
let edit = ui.id("mEdit");
//设置文字
edit.setText("新的内容");

onChanged(callback)

监听文本改变

  • 参数 : callback {(text,start,before,count)=>{}} 监听回调

  • 版本 : 1.8.0

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获取控件
let mInput = ui.id("mInput");
//监听文本改变
mInput.onChanged((text,start,before,count)=>{
    log("文本改变了:"+text);
});

onChangedAfter(callback)

监听文本改变后

  • 参数 : callback {(text)=>{}} 监听回调

  • 版本 : 1.8.0

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获取控件
let mInput = ui.id("mInput");
//监听文本改变
mInput.onChangedAfter((text)=>{
    log("文本改变了:"+text);
});

onChangedBefore(callback)

监听文本改变前

  • 参数 : callback {(text,start,count,after)=>{}} 监听回调

  • 版本 : 1.8.0

//解析布局,获得ui对象
let ui = $ui.layout("./mUi.xml");
//获取控件
let mInput = ui.id("mInput");
//监听文本改变
mInput.onChangedBefore((text,start,count,after)=>{
    log("文本改变了:"+text);
});