Unity InputFiled TMP属性和各种监听示例详解

目录
  • 实践过程
    • Input Field Settings
    • Control Settings
    • InputField(TMP)事件监听

实践过程

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

(0)

相关推荐

  • Unity实现卡片循环滚动效果的示例详解

    目录 简介 定义卡片的摆放规则 调整卡片的层级关系 调整卡片的尺寸大小 动态调整位置.层级和大小 移动动画 按钮事件 简介 功能需求如图所示,点击下一个按钮,所有卡片向右滚动,其中最后一张需要变更为最前面的一张,点击上一个按钮,所有卡片向左滚动,最前面的一张需要变更为最后一张,实现循环滚动效果. 最中间的一张表示当前选中项,变更为选中项的滚动过程中,需要逐渐放大到指定值,相反则需要恢复到默认大小. 实现思路: 定义卡片的摆放规则: 调整卡片的层级关系: 调整卡片的尺寸大小: 卡片向指定方向移动,

  • Unity 数据存储和读取的方法汇总

    目录 数据场景 PlayerPrefs 序列化与反序列化 Json XML 在 Unity 中实现对游戏数据存储和读取的方法主要有这几种: 使用本地持久化类 PlayerPrefs 使用二进制的方法序列化和反序列化(Serialize / Deserialize) 使用 Json 方法 使用 XML 方法 数据场景 在 Demo 中分别使用这四种方法实现面板上数据的存储和读取 创建一个 Data 脚本用来序列化和反序列化,需要向这个类中添加需要保存的数据,最后也是需要从这个类中读取保存的数据 需

  • Unity技术手册之Slider滑动器使用实例详解

    目录 实践过程 Slider其他参数 实践过程 为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂. 该控件通常可以用于技能冷却或者人物血条或者游戏里面设置功能的各种滑动条. 我们在Hierarchy窗口中右键(UI-Slider)创建一个滑动条(如下图).会发现有五个子物体,其实主要的是Background和Fill以及Handle,另外两个带Area的是为了做宽高适配,一直填充满父物体Slider. Background便是默认的滑动条底图或底色.Fill是滑动进度的填充

  • Unity 实现框选游戏战斗单位的思路详解

    目录 Preface 实现思路: 如何在屏幕坐标系内绘制框选框 根据框选范围定位其在世界坐标系中对应的区域

  • Unity TextMeshPro实现富文本超链接默认字体追加字体

    目录 实践过程 富文本 超链接脚本 3D中使用 设置默认字体 追加额外字符 实践过程 富文本 芝麻粒儿提醒:标签是成对出现的就不要省略,有的不是成对的在修改了后就恢复过来,如下方alpha示例,否则多了很容易出现意外的错误效果. 芝麻粒儿提醒: <b>粗体标签</b> <i>斜体标签</i> <u>下划线标签</u> <s>删除线标签</s> <sup>上标标签</sup>前面后面上标签

  • Unity输出带点击跳转功能的Log实现技巧详解

    目录 正文 不带点击跳转的Log 带点击跳转的Log 正文 在平常的Unity开发过程中,可能会遇到如: 1.使用Debug.Log替代输出异常信息: 2.调试代码时,源代码在try{}代码块内有较多或深层的调用: 3.想在输出的Log中提示或是引导其他开发人员打开指定的脚本等情景. 在上述情景中,Debug.Log输出的Log一般都是不带点击跳转功能的,使得我们需要在长长的Log中寻找目标文件,然后再对照着文件名,方法名在IDE中点开,并不是很方便. 不带点击跳转的Log public sta

  • Unity技术手册之Button按钮使用实例详解

    目录 实践过程 Color Tint-表示颜色过度 Sprite Swap-表示精灵过度 Animation-动画 实践过程 为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂. 创建Button按钮很简单,在Hierachy面板中直接右键找到UI-Button即可.创建后我们可以看到Button其实就是挂载了一个Image组件一个Button组件,顺便携带一个Text子物体. 其中Image组件的属性,小空之间有单独介绍过,在这不赘述了.我们详细看Button组件中的内容,

  • Unity InputFiled TMP属性和各种监听示例详解

    目录 实践过程 Input Field Settings Control Settings InputField(TMP)事件监听 实践过程 Input Field Settings Font Asset:字体文件资源 Point Size:控制的字大小 Character Limit:字符限制,当输入内容超过指定数量,不再接收新输入的内容.通常用户登录页面我们都会限制不要输入太多. Content Type:输入类型(Standard--标准,可以输入任何字符:Auto corrected--

  • Spring Boot应用事件监听示例详解

    前言 本文主要给大家介绍了关于Spring Boot应用事件监听的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1. Spring Boot特有的应用事件 除了Spring框架的事件,Spring Boot的SpringApplication也发送了一些自己的事件: ApplicationStartingEvent:在任何处理(除了注册listener和initializer)开始之前发送. ApplicationEnvironmentPreparedEvent: 在

  • vue watch普通监听和深度监听实例详解(数组和对象)

    下面通过一段代码给大家介绍vue watch的普通监听和深度监听,具体代码如下所示: var vm=new Vue({ data:{ num:1, obj:{ name:'三儿', age:'21', sex:'女' } }, watch:{ num(val, oldVal){ //普通的watch监听 console.log("num: "+val, oldVal); }, obj:{ //深度监听,可监听到对象.数组的变化 handler(val, oldVal){ console

  • Vue3中watch监听使用详解

    目录 Vue2使用watch Vue3使用watch 情况1 情况2 情况3 情况4 情况5 特殊情况 总结 Vue2使用watch <template> <div>总合:{{ sum }}<button @click="sum++">点击累加</button></div> </template> <script> import { ref } from "vue"; export

  • Javascript添加监听与删除监听用法详解

    本文实例讲述了Javascript添加监听与删除监听的用法.分享给大家供大家参考.具体分析如下: js中事件监听就是利用addEventListener来绑定一个事件,这个用法在jquery中非常常用并且简单,但在原生js中比较复杂,这里整理了addEventListener事件各方法的测试与例子供大家参考学习. 在前两天做播放器的时候添加监听后删除监听遇到了一点麻烦,删不掉,后来看了一下才发现,参数需要完全对应,什么叫完全对应呢,换句话说: 复制代码 代码如下: $('.video')[0].

  • vue v-on监听事件详解

    在html或jsp页面中我们总能碰到监听DOM事件来触发javaScript代码,下面我们就简单聊聊Vue.js中的监听事件是怎么处理的. 在vue.js中监听事件是通过v-on指令来实现的,先看一下简单的监听事件代码. <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <scrip

  • JS奇技之利用scroll来监听resize详解

    前言 大家都知道知道原生的 resize 事件只能作用于 defaultView 即 window 上,那么我们应该通过什么样的方式来监听其他元素的大小改变呢?笔者最近学习发现了一种神奇的方法,通过 scroll 事件来间接实现 resize 事件的监听,本文将对这种方式进行原理的剖析与代码实现. 原理 首先,我们先来看一下 scroll 事件是干嘛的. The scroll event is fired when the document view or an element has been

  • 微信小程序 实现拖拽事件监听实例详解

    微信小程序 拖拽监听功能: 在软件开发或者 APP应用开发的时候,经常会遇到拖拽监听,最近自己学习微信小程序的知识,就想实现这样的拖拽效果,这里就记录下. 需要做个浮在scroll-view之上的button.尝试了一下. 上GIF: Android中也会有类似移动控件的操作.思路差不多.获取到位移的X Y 的变量,给控件设置坐标. 1.index.wxml ../images/gundong.png" bindtap="ballClickEvent" style="

  • 微信小程序page的生命周期和音频播放及监听实例详解

    一.界面的生命周期 /** * 监听页面加载, * 页面加载中 */ onLoad:function(){ var _this = this console.log('index---------onload()') /** * 监听音乐播放 */ wx.onBackgroundAudioPlay(function() { console.log('onBackgroundAudioPlay') }), /** * 监听音乐暂停 */ wx.onBackgroundAudioPause(func

  • python hook监听事件详解

    本文实例为大家分享了python hook监听事件的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # # by oldj http://oldj.net/ # import pythoncom import pyHook def onMouseEvent(event): # 监听鼠标事件 print "MessageName:",event.MessageName print "Message:", event.Message

随机推荐