【问题标题】:Android Keyboard does not show when pressing input field in unity?统一按下输入字段时Android键盘不显示?
【发布时间】:2019-02-21 23:30:11
【问题描述】:

我有一个统一的简单场景,其中有一个输入字段。当我在我的 Android 设备中运行我的场景并按下输入字段时,Android 键盘不显示。我正在使用 Unity Remote 5 应用程序通过 USB 连接到我的笔记本电脑。

这是我的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class InputNumber : MonoBehaviour {

    public InputField input;

    // Use this for initialization
    void Start () {
        if (input)
        {
            TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);
        }
        input.keyboardType = TouchScreenKeyboardType.NumberPad;
    }

    // Update is called once per frame
    void Update () {

    }
}

【问题讨论】:

  • 第一次使用getComponent作为InputField
  • 输入 = this.GetComponent();我在 start 方法中使用了这段代码,但它不起作用

标签: android unity3d keyboard


【解决方案1】:

无需调用 TouchScreenKeyboard.Open() 方法。如果您在 Unity Remote 应用程序中运行本机键盘,它将不会显示。但是,一旦您从“文件”>“构建设置”>“构建”或“文件”>“构建并运行”构建并运行应用程序,它就会显示在触摸输入字段中。

【讨论】:

  • 赞成该死的键盘不会出现在 Unity Remote 中。我花了一个小时才知道。
【解决方案2】:

使用InputField 组件时,您不需要 需要TouchScreenKeyboard.Open 手动打开键盘。单击InputField 后,它将自行打开。删除不必要的TouchScreenKeyboard.Open 代码。

我正在使用 Unity Remote 5 应用通过 USB 连接到我的笔记本电脑。

这就是问题所在。

InputField 组件只会在您在设备上构建和运行程序时打开键盘Unity Remote 5 仅用于在编辑器上编程时检测屏幕上的触摸并读取 GPS 和加速度计传感器等传感器。对于 Unity Remote 5 支持的功能,请参阅 this 帖子。

另外,TouchScreenKeyboard.Open 在编辑器中也不起作用。您必须在移动设备上构建并运行它才能工作,但这里不需要TouchScreenKeyboard.Open。只需构建游戏并将其部署到您的设备,当您单击 InputField 时,键盘应该会打开。

【讨论】:

    【解决方案3】:

    您需要资产商店中 Unity standard asset 包中的 Cross-Platform-Input 资产。这是免费的,一旦导入到您的项目中,文本字段将自行工作。只需导入它并再次尝试您的手机

    那么你就不需要了:

     if (input)
            {
                TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);
            }
            input.keyboardType = TouchScreenKeyboardType.NumberPad;
    

    当您点击该字段时,Unitys 移动课程只会打开键盘。无需额外编码。

    【讨论】:

    • 我下载了标准资产并删除了我的代码。但是,当我在我的 android 手机上运行时,当我单击输入字段时不会显示 android 键盘。我需要从跨平台输入添加精灵吗?
    猜你喜欢
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2011-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多