Unity InputFiled TMP屬性和各種監(jiān)聽(tīng)示例詳解
??實(shí)踐過(guò)程
??Input Field Settings
Font Asset:字體文件資源
Point Size:控制的字大小
Character Limit:字符限制,當(dāng)輸入內(nèi)容超過(guò)指定數(shù)量,不再接收新輸入的內(nèi)容。通常用戶登錄頁(yè)面我們都會(huì)限制不要輸入太多。
Content Type:輸入類(lèi)型(Standard--標(biāo)準(zhǔn),可以輸入任何字符;Auto corrected--自動(dòng)更正,可以自動(dòng)更正用戶輸入,并建議輸入內(nèi)容;Integer Number--整數(shù),只允許輸入整數(shù);Decimal Number--十進(jìn)制數(shù),僅允許輸入數(shù)字和小數(shù)點(diǎn)后一位;Alphanumeric--字母數(shù)字,允許字母和數(shù)字。無(wú)法輸入符號(hào);Name--名稱(chēng)(支持中文)自動(dòng)將每個(gè)單詞的首字母大寫(xiě)。(用戶可以使用Delete鍵繞過(guò)大小寫(xiě)規(guī)則 );Email Address--電子郵件地址,允許您輸入最多包含一個(gè)@符號(hào)的字母數(shù)字字符串;Password--密碼,用 * 表示輸入的字符,從而隱藏輸入內(nèi)容。(允許符號(hào));Pin--用 * 號(hào)表示輸入的字符。僅允許輸入整數(shù);Custom--自定義,允許自定義行類(lèi)型、輸入類(lèi)型、默認(rèn)鍵盤(pán)類(lèi)型、字符驗(yàn)證;)。。
其中Custom屬性需要單獨(dú)說(shuō)下,選中會(huì)有下面幾個(gè)屬性,Line Typ--上面介紹過(guò)了;Input Type 與 Character Vlidation 中的內(nèi)容在 Content Type 中包含,不再解釋?zhuān)恢攸c(diǎn)是Keyboard Type屬性--它可以在用戶選中輸入框時(shí),調(diào)出不同類(lèi)型的鍵盤(pán)(Default--目標(biāo)平臺(tái)的默認(rèn)鍵盤(pán);ASCLL Capable--帶標(biāo)準(zhǔn)ASCII鍵的鍵盤(pán);Numbers And Punctuation--鍵盤(pán)與數(shù)字和標(biāo)點(diǎn)符號(hào)鍵;URL--鍵盤(pán)與URL輸入鍵;Number Pad--鍵盤(pán)與標(biāo)準(zhǔn)數(shù)字鍵;Phone Pad--鍵盤(pán)與適合鍵入電話號(hào)碼的布局;NamePhone Pad--鍵盤(pán)與字母數(shù)字鍵;Email Address--帶有適合鍵入電子郵件地址的其他鍵的鍵盤(pán);Nintendo Network Account--帶有網(wǎng)絡(luò)賬號(hào)鍵的鍵盤(pán);Social--鍵盤(pán)與常用于社交媒體上的符號(hào)鍵,如Twitter;Search--鍵盤(pán)上帶有“.” 空格鍵旁邊的鍵,適合鍵入搜索詞;)
Line Type:表示行類(lèi)型。Single Line--單行,僅允許文本在一行上;Multi Line Submit--多行自動(dòng)換行,允許文本使用多行。僅在一行寫(xiě)滿后使用新行;Multi Line Newline--多行回車(chē)新建行,用戶可以隨時(shí)通過(guò)按 Enter 鍵來(lái)新建行,繼續(xù)輸入;,注冊(cè)登錄頁(yè)面通常是單行,聊天一般是多行。
Placeholder:占位符,用來(lái)提示輸入的內(nèi)容,當(dāng)點(diǎn)擊輸入框后會(huì)隱藏
Caret Blink Rate:輸入框上的光標(biāo)的閃爍頻率
Caret Width:閃爍光標(biāo)的寬度
Custom Caret Color:是否自定義閃爍光標(biāo)的顏色,激活后會(huì)增加Caret Color屬性
Selection Color:選中文本的背景顏色

??Control Settings
OnFocus-Select All:表示當(dāng)輸入框獲取焦點(diǎn)的時(shí)候,是否所有文本都會(huì)被選中。如你輸入框里已經(jīng)有內(nèi)容且沒(méi)焦點(diǎn),當(dāng)鼠標(biāo)點(diǎn)過(guò)來(lái)或者手機(jī)事件點(diǎn)過(guò)來(lái),會(huì)默認(rèn)選中所有文本,如果取消勾選則不會(huì)選中。
Reset On DeActivation:表示重新激活輸入框的時(shí)候,光標(biāo)位置和字符是否會(huì)重置。
Restore On ESC Key:表示是否可以按ESC清空已經(jīng)輸入的文本成為原始輸入框。
Hide Soft Keyboard:控制移動(dòng)端軟鍵盤(pán)是否隱藏還是可以喚起。
Hide Mobile Input:控制該文本再移動(dòng)設(shè)備上的軟鍵盤(pán)上放的可見(jiàn)性,搞過(guò)移動(dòng)開(kāi)發(fā)的都知道,軟鍵盤(pán)輸入有時(shí)會(huì)遮擋輸入的文本框。
Read Only:只讀模式,勾選后輸入框就無(wú)法編輯了
Rich Text:表示是否支持富文本,注意了如果開(kāi)啟,你輸入了富文本表現(xiàn)雖然輸入框上沒(méi)顯示出來(lái),但是卻有了這個(gè)內(nèi)容。
Allow Rich Text Editing: 允許富文本編輯

??InputField(TMP)事件監(jiān)聽(tīng)
public class TestInputField : MonoBehaviour
{
void Start()
{
//文本變化事件寫(xiě)法一
GetComponent<TMP_InputField>().onValueChanged.AddListener(MethodOnValueChanged);
//文本變化事件寫(xiě)法二
GetComponent<TMP_InputField>().onValueChanged.AddListener((param)=> { MethodOnValueChanged(param); });
//文本輸入結(jié)束時(shí)間
GetComponent<TMP_InputField>().onEndEdit.AddListener(MethodEndEdit);
//文本選擇事件
GetComponent<TMP_InputField>().onSelect.AddListener(MethodSelect);
//文本取消選擇
GetComponent<TMP_InputField>().onDeselect.AddListener(MethodDeselect);
//鍵盤(pán)回車(chē)或確認(rèn)鍵事件
GetComponent<TMP_InputField>().onSubmit.AddListener(MethodSubmit);
//兼容移動(dòng)端
GetComponent<TMP_InputField>().onEndEdit.AddListener(delegate { InputEnd(GetComponent<TMP_InputField>()); });
//設(shè)置對(duì)應(yīng)的InputFiled輸入框聚焦方式一
GetComponent<TMP_InputField>().ActivateInputField();
//設(shè)置對(duì)應(yīng)的InputFiled輸入框聚焦方式二
EventSystem.current.SetSelectedGameObject(GetComponent<TMP_InputField>().gameObject);
}
private void InputEnd(TMP_InputField getComponent)
{
Debug.Log("兼容的監(jiān)聽(tīng)回車(chē)鍵"+getComponent.text);
}
private void MethodSubmit(string arg0)
{
Debug.Log("回車(chē)或確認(rèn)的事件");
}
private void MethodDeselect(string arg0)
{
Debug.Log("取消文本選擇的監(jiān)聽(tīng)");
}
private void MethodSelect(string arg0)
{
Debug.Log("文本選擇的監(jiān)聽(tīng)");
}
private void MethodEndEdit(string arg0)
{
Debug.Log("文本結(jié)束編輯的監(jiān)聽(tīng)");
}
public void MethodOnValueChanged(string param)
{
Debug.Log("文本變化的監(jiān)聽(tīng)");
}
}以上就是Unity InputFiled TMP屬性和各種監(jiān)聽(tīng)示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Unity InputFiled TMP屬性監(jiān)聽(tīng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Unity的IPreprocessBuildWithReport實(shí)用案例深入解析
- Unity的BuildPlayerProcessor實(shí)用案例深入解析
- Unity中的RegisterPlugins實(shí)用案例深入解析
- Unity的IPostprocessBuild實(shí)用案例深入解析
- Unity的IPreprocessBuild實(shí)用案例深入解析
- Unity的IFilterBuildAssemblies實(shí)用案例深入解析
- 一文詳解Unity3D?AudioSource組件使用示例
- Unity TextMeshPro實(shí)現(xiàn)富文本超鏈接默認(rèn)字體追加字體
- Unity中的InitializeOnLoad特性實(shí)踐深入解析
相關(guān)文章
.Net WInform開(kāi)發(fā)筆記(二)Winform程序運(yùn)行結(jié)構(gòu)圖及TCP協(xié)議在Winform中的應(yīng)用
中午沒(méi)事,把去年剛畢業(yè)那會(huì)畫(huà)的幾張圖翻出來(lái)了,大概介紹Winform應(yīng)用程序運(yùn)行的過(guò)程,以及TCP協(xié)議在Winform中的應(yīng)用。感興趣的朋友可以了解下;如果有Windows消息機(jī)制等基礎(chǔ),很好理解這兩張2013-01-01
通過(guò)特性(attribute)為枚舉添加更多信息示例
這篇文章主要介紹了通過(guò)特性(Attribute)為枚舉添加更多的信息,大家參考使用吧2014-01-01
WPF實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形
這篇文章主要為大家詳細(xì)介紹了WPF如何實(shí)現(xiàn)能自由改變形狀的四邊形和六邊形,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-03-03
C#實(shí)現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法
這篇文章主要介紹了C#實(shí)現(xiàn)利用泛型將DataSet轉(zhuǎn)為Model的方法,實(shí)例分析了C#泛型的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07

