目录
textInput 组件
编码示例
textInput 组件
文本输入框是游戏中经常会用到的一个 UI 组件,任何时候需要输入的时候都要使用到 laya.ui.textInput 类。
Package | laya.ui |
类 | public class TextInput |
Inheritance | TextInput Label Component Sprite Node EventDispatcher Object |
子类 | TextArea |
TextInput
类用于创建显示对象以显示和输入文本,常用 API 如下:
Property | Defined By |
editable : Boolean 设置可编辑状态。 | TextInput |
focus : Boolean 表示焦点是否在此实例上。true 表示组件获得焦点,默认为 false。 | TextInput |
height : Number [override] 表示显示对象的高度,以像素为单位。 注:当值为0时,高度为自适应大小。 | TextInput |
inputElementXAdjuster : int 设置原生input输入框的x坐标偏移。 | TextInput |
inputElementYAdjuster : int 设置原生input输入框的y坐标偏移。 | TextInput |
maxChars : int 字符数量限制,默认为10000。 设置字符数量限制时,小于等于0的值将会限制字符数量为10000。 | TextInput |
multiline : Boolean 指示当前是否是文本域。 值为true表示当前是文本域,否则不是文本域。 文本域即 Text ,可以理解为 Html 中的 textArea | TextInput |
prompt : String 设置输入提示符。 | TextInput |
promptColor : String 设置输入提示符颜色。 | TextInput |
restrict : String 限制输入的字符。 | TextInput |
sizeGrid : String 当前实例的背景图( AutoBitmap )实例的有效缩放网格数据。 数据格式:"上边距,右边距,下边距,左边距,是否重复填充(值为0:不重复填充,1:重复填充)",以逗号分隔。 例如:"4,4,4,4,1" | TextInput |
skin : String 对象的皮肤地址,以字符串表示。 如果资源未加载,则先加载资源,加载完成后应用于此对象。 注意:资源加载完成后,会自动缓存至资源库中。 | TextInput |
text : String [override] 当前文本内容字符串。 | TextInput |
type : String 输入框类型为Input静态常量之一。 TYPE_TEXT、TYPE_PASSWORD 、TYPE_EMAIL 、TYPE_URL、 TYPE_NUMBER、 TYPE_RANGE 、TYPE_DATE、 TYPE_MONTH、 TYPE_WEEK 、TYPE_TIME 、TYPE_DATE_TIME、 TYPE_DATE_TIME_LOCAL 平台兼容性参见http://www.w3school.com.cn/html5/html_5_form_input_types.asp。 | TextInput |
width : Number [override] 表示显示对象的宽度,以像素为单位。 注:当值为0时,宽度为自适应大小。 |
Method | Defined By |
TextInput(text:String) 创建一个新的 TextInput 类实例。 | TextInput |
destroy(destroyChild:Boolean = true):void [override] 销毁此对象。destroy对象默认会把自己从父节点移除,并且清理自身引用关系,等待js自动垃圾回收机制回收。destroy后不能再使用。 destroy时会移除自身的事情监听,自身的timer监听,移除子对象及从父节点移除自己。 | TextInput |
select():void 选中输入框内的文本。 | TextInput |
更多 API 请参考官网 API 地址:https://layaair.ldc.layabox.com/api/?category=UI&class=laya.ui.TextInput
编码示例
LayaAir 引擎版本为 2.0.0beat5 版本。
//单行文本输入框
let text_singleLineInput = function(){
//创建文本输入框对象
//构造器中的内容会直接显示在组件中当做实际内容,而并非提示内容
let textInput = new Laya.TextInput("住址:");
//wordWrap 表示文本是否自动换行,默认为false。 若值为true,则自动换行;否则不自动换行
textInput.wordWrap = true;//此属性继承自父类 Label
//width:[override] 表示显示对象的宽度,以像素为单位。 注:当值为0时,宽度为自适应大小。
//height:[override] 表示显示对象的高度,以像素为单位。 注:当值为0时,高度为自适应大小。
textInput.width = 300;
textInput.height = 100;
//设置组件显示的坐标位置,相当于分别设置x和y属性,继承自父类 Sprite
textInput.pos(10,10);
//文本背景颜色,以字符串表示。 继承自父类 Label
textInput.bgColor = "#007ACC";
//指定文本的字体大小(以像素为单位)。 默认为20像素,可以通过 Text.defaultSize 设置默认大小。
//继承自父类 Label
textInput.fontSize = 22;
//设置输入框默认获得焦点
textInput.focus = true;
Laya.stage.addChild(textInput);
};
//多行文本输入框
let text_multiLineInput = function(){
let textInput = new Laya.TextInput();
textInput.fontSize = 22;
textInput.bgColor = "#007ACC";
textInput.width = 200;
textInput.height = 100;
textInput.x = 10;
textInput.y = 120;
textInput.wordWrap = true;
//multiline:true 表示当前是文本域,支持多行输入
textInput.multiline = true;
//限制输入的最大字数为 50,超过时不再显示
textInput.maxChars = 50;
//输入框提示符,相当于 Html 的 placeholder 属性,当用户实际输入时,提示字符会消失
textInput.prompt = "教育经历...";
Laya.stage.addChild(textInput);
};
//密码框
let text_passwordInput = function(){
let textInput = new Laya.TextInput();
textInput.width = 300;
textInput.height = 100;
textInput.pos(10,250);
textInput.bgColor = "#007ACC";
textInput.fontSize = 22;
textInput.prompt = "密码";
//设置文本输入框类型为 密码框,密码框内容不可见,laya.display.Input 中提供了各种类型
textInput.type = Laya.Input.TYPE_PASSWORD;
Laya.stage.addChild(textInput);
}
//初始化引擎,指定舞台场景大小,浏览器如果不支持 WebGL ,则会自动切换为 Canvas
Laya.init(360,640,Laya.WebGL);
//设置舞台背景颜色
Laya.stage.bgColor = "#474749";
text_singleLineInput();
text_multiLineInput();
text_passwordInput();
可参考官网示例:
https://layaair.ldc.layabox.com/demo/?category=2d&group=Text&name=InputSingleline
https://layaair.ldc.layabox.com/demo/?category=2d&group=Text&name=InputMultiline