统一按下输入字段时Android键盘不显示?

问题描述 投票:0回答:4

我有一个简单的统一场景,其中有一个输入字段。当我在 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 () {

    }
}
android unity-game-engine keyboard
4个回答
11
投票

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


4
投票

使用

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

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

这就是问题所在。

仅当您

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

此外,

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


2
投票

您需要资产商店中

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

那么你就不需要:

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

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


0
投票

@程序员你的答案是“

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

但是它的键盘打开了打字移动输入区域,我怎样才能摆脱它的默认打字区域。除了隐藏 inputField 组件的移动输入。 为了更好的理解,搜索这个“unity input field android Problem”并转到图片,你会看到手机屏幕。如果你知道解决方案,请帮助我。

© www.soinside.com 2019 - 2024. All rights reserved.