输入框

  • 更新时间:2026-03-14 11:43:41

输入框-input

组件原生类型:{com.google.android.material.textfield.TextInputEditText}

布局原生类型:{com.google.android.material.textfield.TextInputLayout}

输入框:一个可以输入文字的地方。

一、基础用法

二、常用属性

风格 - 样式

设置样式

可选:填充,轮廓

<界面>
    <状态条 />
    <线性布局="最大" 方向="竖向" 重力="中间">
        <输入框="最大" 文本="轮廓样式" 风格="边框" />
        <输入框="最大" 文本="填充样式" 风格="填充" />
    </线性布局>
</界面>

提示 - 提示文本

提示文本

<界面>
    <状态条 />
    <输入框="最大" 提示="请输入" />
</界面>

文本 - 文本

设置文本

<界面>
    <状态条 />
    <输入框="最大" 文本="我是文本" />
</界面>

默认 - 文本

设置文本

<界面>
    <状态条 />
    <输入框="最大" 默认="我是文本" />
</界面>

文本颜色 - 文本颜色

设置文本颜色

<界面>
    <状态条 />
    <输入框="最大" 文本="我是文本" 文本颜色="#57965C" />
</界面>

文本尺寸 - 文本尺寸

设置文本尺寸

<界面>
    <状态条 />
    <线性布局="最大" 方向="竖向" 重力="中间">
        <输入框="最大" 文本="尺寸:10" 文本尺寸="10" />
        <输入框="最大" 文本="尺寸:20" 文本尺寸="20" />
    </线性布局>
</界面>

字数 - 字数限制

设置字数限制

<界面>
    <状态条 />
    <输入框 字数="10"="最大" 文本="123" />
</界面>

最大行数 - 最大行数

最大行数

<界面>
    <状态条 />
    <输入框="最大" 最大行数="5" />
</界面>

最小行数 - 最少行数

最少行数

<界面>
    <状态条 />
    <输入框="最大" 最小行数="3" />
</界面>

单行模式 - 单行模式

单行模式

<界面>
    <状态条 />
    <文本 可选择="是" 文本="设置单行模式 单行模式=是" 重力="中间"="50" />
    <输入框 单行模式="是"="最大" />
</界面>

帮助 - 帮助文字

帮助文字

<界面>
    <状态条 />
    <输入框="最大" 帮助="请输入名称" />
</界面>

前缀 - 前缀

设置前缀

<界面>
    <状态条 />
    <输入框 前缀="邮箱:"="最大" />
</界面>

前缀颜色 - 前缀颜色

设置前缀颜色

<界面>
    <状态条 />
    <输入框 前缀="邮箱:" 前缀颜色="#C94F4F"="最大" />
</界面>

后缀 - 后缀

设置后缀

<界面>
    <状态条 />
    <输入框 后缀="@qq.com"="最大" />
</界面>

后缀颜色 - 后缀颜色

设置后缀颜色

<界面>
    <状态条 />
    <输入框 后缀="@qq.com" 后缀颜色="#C94F4F"="最大" />
</界面>

类型 - 输入类型

设置输入类型

可选:密码,数字,手机号

<界面>
    <状态条 />
    <线性布局="最大" 方向="竖向" 重力="中间">
        <!--密码-->
        <输入框="最大" 文本="abcdefg" 类型="密码" />
        <!--数字-->
        <输入框="最大" 文本="3.1415926" 类型="数字" />
        <!--号码-->
        <输入框="最大" 文本="123593749723" 类型="号码" />
    </线性布局>
</界面>

主题颜色 - 主题颜色

设置主题颜色

<界面>
    <状态条 />
    <输入框 主题颜色="#C94F4F"="最大" 文本="主题颜色:红色" />
</界面>

边框颜色 - 边框颜色

设置边框颜色

<界面>
    <状态条 />
    <输入框="最大" 文本="边框颜色:红色" 边框颜色="#C94F4F" />
</界面>

边框宽度 - 边框宽度

设置边框宽度

<界面>
    <状态条 />
    <输入框="最大" 文本="边框加厚" 边框宽度="10" />
</界面>

弧度 - 弧度

设置弧度

<界面>
    <状态条 />
    <输入框="最大" 弧度="25" 文本="设置四角弧度" />
    <输入框="最大" 弧度="5,20" 文本="设置同角弧度" />
    <输入框="最大" 弧度="30,10,10,30" 文本="定制对角度弧度" />
</界面>

内边距 - 布局内边距

设置布局内边距

<界面>
    <状态条 />
    <输入框 内边距="15"="最大" 文本="内边距:15" />
    <输入框 内边距="25"="最大" 文本="内边距:25" />
</界面>

重力 - 布局重力

布局重力

<界面>
    <状态条 />
    <输入框="最大" 文本="开始" 重力="开始" />
    <输入框="最大" 文本="结束" 重力="结束" />
</界面>

背景颜色 - 背景颜色

设置背景颜色

<界面>
    <状态条 />
    <输入框="最大" 文本="看我背景" 背景颜色="#57965C" />
</界面>

背景图片 - 背景图片

设置背景图片

<界面>
    <状态条 />
    <输入框="最大" 文本="看我背景"
        背景图片="example/$ui - 交互界面/10.input-输入框/img/img.png" />
</界面>

三、常用函数

设置单行模式(单行模式)

设置单行模式

  • 参数 : 单行模式 {布尔值} 是/否
  • 版本 : 1.9.4
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置单行模式
输入框.设置单行模式(是);

设置提示(提示)

设置预提示

  • 参数 : 提示 {string} 提示文本
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置预提示
输入框.设置提示("请输入名字");

设置背景颜色(颜色)

设置背景颜色

  • 参数 : 颜色 {string} 颜色值
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置背景颜色
输入框.设置背景颜色("#ff0000");//也可以是M3主题动态色,例如:主题主颜色

设置边框颜色(颜色)

设置边框颜色

  • 参数 : 颜色 {string} 颜色值
  • 版本 : 1.5.3
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置边框颜色
输入框.设置边框颜色("#ff0000");//也可以是M3主题动态色,例如:主题主颜色

设置边框宽度(宽度)

设置边框宽度

  • 参数 : 宽度 {int} 边框宽度
  • 版本 : 1.5.3
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置边框宽度
输入框.设置边框宽度(5);//单位:dp

设置弧度(左上, 上右, 左下, 右下)

设置弧度

  • 参数 : 左上 {float} 左上角弧度
  • 参数 : 上右 {float} 右上角弧度
  • 参数 : 左下 {float} 左下角弧度
  • 参数 : 右下 {float} 右下角弧度
  • 版本 : 1.5.3
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置边框弧度
输入框.设置弧度(20,20,5,5);//单位:dp

设置文字(文本)

设置文字

  • 参数 : 文本 {string} 文字内容
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置文本
输入框.设置文字("我是文字");

获取文字()

获取输入框内容

  • 返回 : {string} 内容
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//获得文本
定义 文本 = 输入框.获取文字();

设置错误(提示)

设置异常信息提示

  • 参数 : 提示 {string} 错误提示信息
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//设置异常提示
输入框.设置错误("输入内容有误");

获取编辑框()

获取文本输入编辑框对象

  • 返回 : {TextInputEditText} 编辑框对象
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//获得文本输入编辑框对象
定义 编辑框 = 输入框.获取编辑框();

监听文本改变(回调)

监听文本改变

  • 参数 : 回调 {(文本,开始,之前,数量)=>{}} 监听回调
  • 版本 : 1.8.0
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//监听文本改变
输入框.监听文本改变((文本,开始,之前,数量)=>{
    日志("文本改变了:"+文本);
});

监听文本改变后(回调)

监听文本改变后

  • 参数 : 回调 {(文本,开始,之前,数量)=>{}} 监听回调
  • 版本 : 1.8.0
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//监听文本改变后
输入框.监听文本改变后((文本)=>{
    日志("文本改变了:"+文本);
});

监听文本改变前(回调)

监听文本改变前

  • 参数 : 回调 {(文本,开始,数量,之前)=>{}} 监听回调
  • 版本 : 1.8.0
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//监听文本改变前
输入框.监听文本改变前((文本,开始,数量,之前)=>{
    日志("文本改变了:"+文本);
});

监听焦点改变(回调)

监听焦点改变

  • 参数 : 回调 {(有焦点)=>{}} 监听回调
  • 版本 : 1.8.2
//解析布局,获得界面对象
定义 界面 = $界面.解析布局("./主界面.xml");
//获取控件
定义 输入框 = 界面.找控件("我的输入框");
//监听焦点改变
输入框.监听焦点改变((有焦点)=>{
    日志("焦点改变了:"+文本);
});