Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)
前言
如题的需求经常会在甲方的需求中出现,比如一体机上,大多客户会不选择键盘和鼠标,因为觉得比较low的可能。自己弄一个内置UI键盘的话也是可行的,只不过可能就英文输入好实现,实现带中文的输入可能就比较难了,所以想到了一个中间的方式调用软键盘,可支持中文输入,目前的实现可能仅支持Windows系统。
效果
调起输入的效果:
支持中文的效果:
实现
搭建UI
UI搭建比较简单主要就是一个输入框(InputField),如图的搭建:
调起小键盘
直接使用Process.Start();来启动小键盘程序:
proc = Process.Start(@"C:\Windows\System32\osk.exe");
参数是小键盘运行程序的路劲。
关闭小键盘
我们在调起小键盘时记录了小键盘的process,关闭时将调用CloseMainWindow函数即可
proc.CloseMainWindow();
调起和关闭之间的输入环节和正常的物理键盘输入无异。
事件绑定
我们在输入结束是,通过输入结束事件将键盘关闭:
input.onEndEdit.AddListener(EditEnd);
这个直接使用了,输入框的结束编辑事件,比较方便就实现了。
用户在点击或者选中输入框时,调起小键盘,这个的实现需要借助EventTrigger来实现:
et.triggers = new List<EventTrigger.Entry>(); // 新建委托列表EventTrigger.Entry Sel = new EventTrigger.Entry(); // 注册事件Sel.eventID = EventTriggerType.Select; // 设置事件类型Sel.callback = new EventTrigger.TriggerEvent(); // 设置callbackSel.callback.AddListener(new UnityAction<BaseEventData>(OnSelectIpt)); // 事件绑定et.triggers.Add(Sel);
这里监听了选中事件(EventTriggerType.Select),理论上点击(EventTriggerType.PointerClick)应该也可以。
项目源码
https://download.csdn.net/download/qq_33789001/20381292
Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)相关推荐
- Unity3d C#模仿实现王者荣耀英雄禁用灰化(黑白化)功能含工程源码
效果 直接上效果,如下动图: 实现 这个功能的操作是在用户选中英雄头像后,将头像灰化,即将UI的图片进行黑白化,这里主要通过着色器来实现,因为个人着色器操作不是很多,都是借鉴网上的代码实现. 着色器 ...
- Unity3d 实现节奏空间(Beat Saber)模型切割功能项目工程源码。
Unity3d 实现节奏空间(Beat Saber)核心玩法模型切割功能源码 前言 前言 之前公司的VR设备上安装了这个爆款音游,体验了几把后,感觉真的不错:加之现在很多短视频平台有各种玩游戏过程的合 ...
- flutter TextField 输入框被软键盘挡住的解决方案
flutter TextField 输入框被软键盘挡住的解决方案 参考文章: (1)flutter TextField 输入框被软键盘挡住的解决方案 (2)https://www.cnblogs.co ...
- 移动端h5唤起键盘_移动端H5界面打开后,如何自动调用软键盘
test(){ // let aa = this.$refs.input1.blur(); // this.$nextTick((x)=>{ //正确写法 // // this.$refs.in ...
- android 键盘遮盖输入框_Android软键盘遮住输入框的解决方法终极适配
新的一周,新的开始迎接新的挑战.今天简单介绍一下Android输入框被软键盘遮住的两种常用方法. 法一:清单文件对要进行设置的Activity属性配置android:windowSoftInputMo ...
- android 键盘退回 慢,调用软键盘的速度很慢。。。
安卓机器上测试,每一次打开软件 ,第一次触发调用软键盘,要延迟2-3秒才会出来,,, 然后再点的时候,就速度很快了,,这是什么原因?? 代码如下: var openSoftKeyboard = fun ...
- wincc调用软键盘的几种方法
wincc调用软键盘 软件设置 VB脚本 调用windows系统软键盘 调用wincc自带软键盘 C脚本 调用windows系统软键盘 调用wincc自带软键盘 软件设置 打开"计算机属性& ...
- 解决安卓H5输入框获取焦点软键盘页弹起,页面高度被压缩问题
在移动项目开发中经常会遇到输入框获取焦点软键盘页弹起,页面高度被压缩,输入框获取焦点时弹不上去的问题,我本次的是vue的UI框架(vux) 解决办法如下代码: 只要在页面初始化完成的时候,获取屏幕的可 ...
- Qt5 QLineEdit实现点击调用软键盘
Qt版本: Qt 5.9.3 (MSVC 2015, 32 bit) 我们知道,QLineEdit 是没有Clicked信号的,那么怎么实现点击它调用软件盘呢? 麻烦点的有重写 LineEdit 的 ...
最新文章
- 【c语言】蓝桥杯算法训练 sign函数
- linux编译动态库未定义,自定义动态库 对‘*’未定义的引用解决方法
- 第三次学JAVA再学不好就吃翔(part85)--静态导入
- 成绩查询系统c语言,学生成绩查询系统C语言代码(分服务器端和客户端).doc
- 审查指南 最新版本_代码审查-最终指南
- Redis深入浅出----演讲
- 2022牛客寒假算法基础集训营6 签到题5题(附基础集训营4-6签到题总结)
- We7开通问答系统:进一步开发社区的力量
- HDU 2243 考研路茫茫——单词情结(AC自动机 + 矩阵快速幂)题解
- Leetcode116. 填充每个节点的下一个右侧节点指针(宽搜或深搜)
- Matches UVA - 11375 递推+大数 Ingenuous Cubrency UVA - 11137 递推
- PS长图快速切片_【干货】Photoshop(PS)零基础教学(界面篇)
- 王道操作系统2.2处理机调度摘要
- 初识Espresso
- 文件上传插件WebUploader的使用
- webfont.woff2和webfont.woff下载超时报404错误
- WordCloud:连份好点的词云资料都找不到?我什么时候受过这气!!!
- 微信小程序电商项目商品详情页开发实战之数据绑定与事件应用
- IDEA 运行 Junit 测试用例报 !!! JUnit version 3.8 or later expected 错误
- Linux 下 nc 命令介绍