UnityInputFiledTMP属性和各种监听示例详解

 

实践过程

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属性监听的资料请关注编程宝库其它相关文章!

 文章描述以下主要还是使用到了ffmpeg命令,分别实现了给视频添加图片水印以及文字水印。 开发环境.NET Framework版本:4.5 开发工具Visual Studio 2013 ...