如何从Android TouchScreenKeyboard(Unity,C#)获取“返回”键

时间:2018-07-28 05:31:31

标签: c# unity3d

我有一个InputField组件,一旦按下物理键盘键返回,就会保存InputField中的文本。我希望在按我的Android TouchScreenKeyboard“确定”或“完成”时发生同样的事情(我也用keyCode.Enter测试过,但这不起作用)。您知道特定的KeyCode吗?或者也许是实现这一目标的另一种方法?

这是与我的物理键盘配合使用的代码:

if(Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter))
{
   doThis(); //Saving the input's text to a variable
}

在Android的TouchKeyboard中按“确定”或“完成”时,我希望得到相同的结果。按下提到的选项时,TouchKeyboard被隐藏,但是InputField中的数据未提交。我已经创建了一个屏幕上的按钮来调用功能doThis()作为解决方法,但是我想避免这种情况。

2 个答案:

答案 0 :(得分:1)

订阅InputField的onEndEdit事件,它在用户完成输入文本,触发其按下Enter键或仅失去该窗口的焦点时都可以触发,在用户完成键入时被触发,我相信它应该可以解决您的问题问题

答案 1 :(得分:0)

这对我(电脑/手机)正常工作,请尝试


var { execSync } = require("child_process");
let packagesChangedString = execSync("yarn lerna changed --toposort --json --loglevel silent").toString();
let packageChanged = JSON.parse(packagesChangedString.substring(packagesChangedString.indexOf("["), packagesChangedString.lastIndexOf("]") + 1));
console.log(packageChanged);

packageChanged.forEach(changed => {
    // exec npm publish manually without using lerna for publishing. 
    execSync("cd " + changed.location + " && npm publish" );

});