Unity中的InputFeild在Android端隐藏系统自带键盘

有些童鞋在开发中会感觉系统输入法的键盘太丑,或者是由于项目需求要是用自己制作的键盘来完成一些输入。这是本人在开发中遇到的问题,本人百度了好久都没有找到方法,这还要多谢一位大佬的帮忙才得以解决。接下来我就要说下我的解决办法:首先新建一个脚本HideVirtualKeyboard,继承于InputFeild,重写Start方法,在Start方法里修改keyboardType类型为-1,即不调用任何类型键盘

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

public class HideVirtualKeyboard : InputField {

    // Use this for initialization
    protected override void Start()
    {
        keyboardType = (TouchScreenKeyboardType)(-1);
        base.Start();
    }

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

然后将InputFeild上原有的InputFeild组件删除,将新写的HideVirtualKeyboard脚本挂到InputFeild上面,如下图所示

Unity中的InputFeild在Android端隐藏系统自带键盘_第1张图片

Unity中的InputFeild在Android端隐藏系统自带键盘_第2张图片

然后将InputFeild子节点的Text和Placeholder分别拖入对应的栏中,可以看到之前的KeyboardType默认选择的是Default,挂有自己写的代码的KeyboardType默认选择的是空,即什么类型都不选择

Unity中的InputFeild在Android端隐藏系统自带键盘_第3张图片

 

Unity中的InputFeild在Android端隐藏系统自带键盘_第4张图片

好了,就这么简单,打包测试没有显示系统键盘。

希望对童鞋们有所帮助,当然有不合适的地方还望大佬们多多指教,同时还要感谢给我提供思路的大佬。

你可能感兴趣的:(Unity3D,C#)