更新自:2022-05-13
介绍一个Unity InputFiled组件改进版的键盘输入插件,来自git库
2.https://github.com/yoyohan1/Unity_MobileInput
使用方法:
1.发布时必需挂载Plugins.cs并且放在第一个启动场景!因为Android端需要在第一个界面初始化时做一些方法调用。不然会造成无法使用插件
2.在需要使用插件的InputField上添加MobileInputField.cs插件,并设置参数Search、Return、Done事件。可以绑定Done事件为MobileInputField.Hide()
示例1:使用Next事件绑定下一个MobileInputField的SetFoucs(true)事件 以激活下一个InputField。
示例2:使用Done事件绑定自身MobileInputField的Hide()事件
3.也可以使用AddComponent动态添加组件方式绑定事件,其中IOS有Done按键和(x)清除按键
事件:
//事件
MobileInput.OnShowKeyboard += OnShowKeyboard;
void OnShowKeyboard(bool isShow, int height)
{
}
mobileInputFiled.OnReturnPressed += OnReturn;
void OnReturn()
{
//enter键按下
}
//隐藏键盘
MobileInputField.SetFocus(false);
#if UNITY_ANDROID && !UNITY_EDITOR
/// <summary>
/// Keyboard handler
/// </summary>
private void UpdateForceKeyeventForAndroid () {
if (UnityEngine.Input.anyKeyDown) {
if (UnityEngine.Input.GetKeyDown (KeyCode.Backspace)) {
this.ForceSendKeydownAndroid ("backspace");
} else {
foreach (char c in UnityEngine.Input.inputString) {
if (c == '\n') {
this.ForceSendKeydownAndroid ("enter");
} else {
this.ForceSendKeydownAndroid (Input.inputString);
}
}
}
}
}
#endif
Tips:
1该插件会根据键盘输入变化调用OnTextChange从而设置_inputObject.text,我们无须设置inputFiled的值,但是可以监听onValueChanged事件做处理
2非必要别设置mobileInput.Text字段,代码会重复Excute事件造成键盘输入闪烁
云盘下载:
链接:https://pan.baidu.com/s/11rNIhTliuUxB6IyDbhRWug
提取码:dz0r