Unity中如何给InputField添加软键盘

此方法适用于高版本的unity比如2017及以上

亲自使用过unity4.7版本的时候这个方式需要改进为将osk.exe拖进项目工程中Assets下,然后下面打开的路径也要换成相对应的路径,用方法二来举例

首先我们要知道如何打开软键盘

这里就打开Windows自带的一个软键盘,这个.exe程序一般位于C:\Windows\System32这个位置,当进入到这个文件夹的时候搜索osk.exe一般都有,打开就是软键盘

unity中如何通过代码调用打开Windows的软键盘

方法一:

using UnityEngine;
using System.Collections;
 
public class CallApplication : MonoBehaviour {
 
	// Use this for initialization
	void Start () {
		Application.OpenURL (@"C:\Windows\System32\osk.exe");
	}
}

方法二:

using UnityEngine;
using System.Collections;
using System.Diagnostics;
 
public class CallApplication : MonoBehaviour {
 
	// Use this for initialization
	void Start () {
		Process.Start (@"C:\Windows\System32\osk.exe");
	}
}

给InputField添加软键盘

首先我们知道InputField没有button组件所以无法点击,在我们没有键盘只有鼠标的情况下只有打开软键盘才能输入。所以现在我们要给InputField添加点击事件。

找到InputField给它添加一个EventTrigger组件并且通过EventTrigger组件添加一个Select事件

现在我们只需要在其他触发其他脚本中的方法就可以了

上面Select事件挂的方法就是SimulateKeyboardClick方法,当然下面这个脚本得找个对象挂着

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System.Collections;
using System.Diagnostics;


public class KeyboardSimulator : MonoBehaviour
{
    public InputField inputField; // 拖拽需要输入的InputField到这个字段

    public void SimulateKeyboardClick()
    {
        inputField.Select();


        Application.OpenURL(@"C:\Windows\System32\osk.exe");
    }
}

这时启动游戏点击 InputField就可以看到软键盘弹出来了

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值