?实践过程
?Input Field Settings
Font Asset:字体文件资源
Point Size:控制的字大小
Character Limit:字符限制,当输入内容超过指定数量,不再接收新输入的内容。通常用户登录页面我们都会限制不要输入太多。
Content Type:输入类型(Standard--标准,可以输入任何字符;Auto corrected--自动更正,可以自动更正用户输入,并建议输入内容;Integer Number--整数,只允许输入整数;Decimal Number--十进制数,仅允许输入数字和小数点后一位;Alphanumeric--字母数字,允许字母和数字。无法输入符号;Name--名称(支持中文)自动将每个单词的首字母大写。(用户可以使用Delete键绕过大小写规则 );Email Address--电子邮件地址,允许您输入最多包含一个@符号的字母数字字符串;Password--密码,用 * 表示输入的字符,从而隐藏输入内容。(允许符号);Pin--用 * 号表示输入的字符。仅允许输入整数;Custom--自定义,允许自定义行类型、输入类型、默认键盘类型、字符验证;)。。
其中Custom属性需要单独说下,选中会有下面几个属性,Line Typ--上面介绍过了;Input Type 与 Character Vlidation 中的内容在 Content Type 中包含,不再解释;重点是Keyboard Type属性--它可以在用户选中输入框时,调出不同类型的键盘(Default--目标平台的默认键盘;ASCLL Capable--带标准ASCII键的键盘;Numbers And Punctuation--键盘与数字和标点符号键;URL--键盘与URL输入键;Number Pad--键盘与标准数字键;Phone Pad--键盘与适合键入电话号码的布局;NamePhone Pad--键盘与字母数字键;Email Address--带有适合键入电子邮件地址的其他键的键盘;Nintendo Network Account--带有网络账号键的键盘;Social--键盘与常用于社交媒体上的符号键,如Twitter;Search--键盘上带有“.” 空格键旁边的键,适合键入搜索词;)
Line Type:表示行类型。Single Line--单行,仅允许文本在一行上;Multi Line Submit--多行自动换行,允许文本使用多行。仅在一行写满后使用新行;Multi Line Newline--多行回车新建行,用户可以随时通过按 Enter 键来新建行,继续输入;,注册登录页面通常是单行,聊天一般是多行。
Placeholder:占位符,用来提示输入的内容,当点击输入框后会隐藏
Caret Blink Rate:输入框上的光标的闪烁频率
Caret Width:闪烁光标的宽度
Custom Caret Color:是否自定义闪烁光标的颜色,激活后会增加Caret Color属性
Selection Color:选中文本的背景颜色
?Control Settings
OnFocus-Select All:表示当输入框获取焦点的时候,是否所有文本都会被选中。如你输入框里已经有内容且没焦点,当鼠标点过来或者手机事件点过来,会默认选中所有文本,如果取消勾选则不会选中。
Reset On DeActivation:表示重新激活输入框的时候,光标位置和字符是否会重置。
Restore On ESC Key:表示是否可以按ESC清空已经输入的文本成为原始输入框。
Hide Soft Keyboard:控制移动端软键盘是否隐藏还是可以唤起。
Hide Mobile Input:控制该文本再移动设备上的软键盘上放的可见性,搞过移动开发的都知道,软键盘输入有时会遮挡输入的文本框。
Read Only:只读模式,勾选后输入框就无法编辑了
Rich Text:表示是否支持富文本,注意了如果开启,你输入了富文本表现虽然输入框上没显示出来,但是却有了这个内容。
Allow Rich Text Editing: 允许富文本编辑
?InputField(TMP)事件监听
public class TestInputField : MonoBehaviour
{
void Start()
{
//文本变化事件写法一
GetComponent<TMP_InputField>().onValueChanged.AddListener(MethodOnValueChanged);
//文本变化事件写法二
GetComponent<TMP_InputField>().onValueChanged.AddListener((param)=> { MethodOnValueChanged(param); });
//文本输入结束时间
GetComponent<TMP_InputField>().onEndEdit.AddListener(MethodEndEdit);
//文本选择事件
GetComponent<TMP_InputField>().onSelect.AddListener(MethodSelect);
//文本取消选择
GetComponent<TMP_InputField>().onDeselect.AddListener(MethodDeselect);
//键盘回车或确认键事件
GetComponent<TMP_InputField>().onSubmit.AddListener(MethodSubmit);
//兼容移动端
GetComponent<TMP_InputField>().onEndEdit.AddListener(delegate { InputEnd(GetComponent<TMP_InputField>()); });
//设置对应的InputFiled输入框聚焦方式一
GetComponent<TMP_InputField>().ActivateInputField();
//设置对应的InputFiled输入框聚焦方式二
EventSystem.current.SetSelectedGameObject(GetComponent<TMP_InputField>().gameObject);
}
private void InputEnd(TMP_InputField getComponent)
{
Debug.Log("兼容的监听回车键"+getComponent.text);
}
private void MethodSubmit(string arg0)
{
Debug.Log("回车或确认的事件");
}
private void MethodDeselect(string arg0)
{
Debug.Log("取消文本选择的监听");
}
private void MethodSelect(string arg0)
{
Debug.Log("文本选择的监听");
}
private void MethodEndEdit(string arg0)
{
Debug.Log("文本结束编辑的监听");
}
public void MethodOnValueChanged(string param)
{
Debug.Log("文本变化的监听");
}
}
以上就是Unity InputFiled TMP属性和各种监听示例详解的详细内容,更多关于Unity InputFiled TMP属性监听的资料请关注编程网其它相关文章!