# UnityMobileInput
### 介绍
1. github地址:https://github.com/mopsicus/UnityMobileInput
2. 功能
- 去掉移动端InputField自带的丑陋的输入box。
- 根据键盘高度自动调节输入框在UGUI中的位置(使用KeyHeightMono.cs)。
- 使用原生自带的输入框贴到InputField上,可以实现复制、粘贴、密码本、Clear、Done、Search、Return。
3. 修复原版的Bug和改进
+ ```c#
//改进:在MobileInputField.cs上增加该变量
public string text { get { return Text;} set { Text = value;} }
```
+ ```c#
//修复bug:在MobileInputField.cs上修改
//在此处修改为使用inputfield.text 之前使用inputfield.textcompoent 在密码类型的inputfield上 会出现bug
this.SetTextNative(this._inputObject.text);
```
+ ```c#
//改进:在MobileInputField.cs上修改
//把原生输入框的背景的alpha设置为0 不然会有白底
_config.BackgroundColor = new Color(_inputObject.colors.normalColor.r, _inputObject.colors.normalColor.g, _inputObject.colors.normalColor.b, 0);
// _config.BackgroundColor =_inputObject.colors.normalColor;
```
+ ```c#
//修复bug:在MobileInputField.cs上修改
//ios按home键之后再切回应用Input消失了
private void OnApplicationFocus (bool hasFocus) {
if (!_isMobileInputCreated || !this.Visible) {
return;
}
//this.SetVisible (hasFocus);
}
```
+ 修改MobileInput.cs见[MobileInput](https://github.com/yoyohan1/Unity_MobileInput/blob/master/UnityMobileInput/Scripts/MobileInput.cs) 增加onFocus事件 解决了点不同输入框时 输入框需要调整高度到UGUI可见位置
+ 修改MobileInputReceiver.cs见[MobileInput](https://github.com/yoyohan1/Unity_MobileInput/blob/master/UnityMobileInput/Scripts/MobileInput.cs) 增加UNITY_EDITOR模式显示模拟键盘
+ 增加KeyHeightMono.cs见[KeyHeightMono](https://github.com/yoyohan1/Unity_MobileInput/blob/master/UnityMobileInput/Scripts/KeyHeightMono.cs) 以使用Android和iOS端根据键盘高度自动调节输入框在UGUI中的位置
+ 修改KeyboardListener.java见[KeyboardListener](https://github.com/yoyohan1/Unity_MobileInput/blob/master/AndroidJar_MobileInput/mobileinput/src/main/java/ru/mopsicus/mobileinput/KeyboardListener.java) 解决了安卓输入法切换时键盘高度变化
+ 修改MobileInput.mm见[MobileInput.mm](https://github.com/yoyohan1/Unity_MobileInput/blob/master/UnityMobileInput/Plugins/iOS/MobileInput.mm) 解决了iOS输入法切换时键盘高度变化
+ iOS的bug 横屏第一个场景中使用该插件的InputField会不出现原生UI 除非打开闪屏动画或者打开竖屏。(测试了一天时间才发现造成bug的原因)解决方法为 打开闪屏动画 把闪屏动画列表设为空。偶现横屏Home键再返回应用也会不出现输入框。
### 接入
##### Unity
1. 拷贝文件到对应目录
2. 发布时必需挂载Plugins.cs并且放在第一个启动场景!因为Android端需要在第一个界面初始化时做一些方法调用。不然会造成无法使用插件。
3. 在需要使用插件的InputField上添加MobileInputField.cs插件,并设置参数:
+ Search、Return、Done事件。可以绑定Done事件为MobileInputField.Hide()
示例1:使用Next事件绑定下一个MobileInputField的SetFoucs(true)事件 以激活下一个InputField。
示例2:使用Done事件绑定自身MobileInputField的Hide()事件 。
+ iOS增加两个参数Clear、Done。Clear为输入框后边的X按钮 Done为输入框上方的按钮。
+ 自定义字体:拷贝TTF字体资源放到StreamingAssets 并替换default为字体的名称即可。
4. 在GameObject上挂载KeyHeightMono 实现根据键盘高度自动调节输入框在UGUI中的位置。
##### 安卓
1. 修改AndroidManifest.xml
```java
<!--增加meta-data 在Unity页面中,如果希望能够使页面中的Android 控件具有点击事件,需要增加meta-data,值需设置为true-->
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:label="@string/app_name"
...
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
...
</activity>
<!--设置是否根据输入框高度自动调节View 不加时自动调节生效-->
activity ... android:windowSoftInputMode="adjustNothing">
...
</activity>
```
##### iOS:
无
### 效果图
![image](https://github.com/yoyohan1/Unity_MobileInput/blob/master/UnityMobileInput/%E7%A7%BB%E5%8A%A8%E7%AB%AFInputField%E6%BC%94%E7%A4%BA.gif)
没有合适的资源?快使用搜索试试~ 我知道了~
Unity_MobileInput:移动端原生InputField替代Unityy自带InputField
共100个文件
meta:24个
xml:20个
png:10个
5星 · 超过95%的资源 需积分: 45 23 下载量 81 浏览量
2021-02-23
10:51:19
上传
评论 2
收藏 2.17MB ZIP 举报
温馨提示
UnityMobileInput 介绍 github地址: : 功能 去掉移动端InputField自带的丑陋的输入框。 根据键盘高度自动调节输入框在UGUI中的位置(使用KeyHeightMono.cs)。 使用原始自带的输入框粘贴到InputField上,可以实现复制,粘贴,密码本,清除,完成,搜索,返回。 修复原版的Bug和改进 //改进:在MobileInputField.cs上增加该变量 public string text { get { return Text ;} set { Text = value ;} } //修复bug:在MobileInputField.cs上修改 //在此处修改为使用inputfield.text 之前使用inputfield.textcompoent 在密码类型的inputfield上 会出现bug this . SetTextNative
资源详情
资源评论
资源推荐
收起资源包目录
Unity_MobileInput:移动端原生InputField替代Unityy自带InputField (100个子文件)
mobileinput.aar 34KB
common.aar 3KB
gradlew.bat 2KB
MobileInputField.cs 21KB
NiceJson.cs 19KB
MobileInput.cs 11KB
KeyHeightMono.cs 5KB
Plugins.cs 4KB
MobileInputEditor.cs 3KB
Demo.cs 818B
移动端InputField演示.gif 1.69MB
.gitignore 118B
.gitignore 7B
.gitignore 7B
.gitignore 7B
build.gradle 677B
build.gradle 580B
build.gradle 546B
build.gradle 543B
settings.gradle 42B
gradlew 5KB
Common.h 936B
unity.jar 71KB
unity.jar 71KB
gradle-wrapper.jar 53KB
MobileInput.java 22KB
KeyboardProvider.java 4KB
Plugin.java 3KB
KeyboardListener.java 3KB
Common.java 2KB
ExampleInstrumentedTest.java 757B
KeyboardObserver.java 449B
ExampleUnitTest.java 406B
Common.m 2KB
ReadMe.md 5KB
ReadMe.md 5KB
移动端InputField演示.gif.meta 2KB
mobileinput.aar.meta 608B
common.aar.meta 608B
MobileInput.mm.meta 561B
Common.h.meta 561B
Common.m.meta 561B
Chilanka.ttf.meta 494B
Demo.cs.meta 284B
Plugins.cs.meta 284B
NiceJson.cs.meta 284B
MobileInputEditor.cs.meta 243B
KeyHeightMono.cs.meta 243B
MobileInputField.cs.meta 243B
MobileInput.cs.meta 243B
iOS.meta 213B
Android.meta 213B
AndroidManifest.xml.meta 199B
Demo.unity.meta 196B
StreamingAssets.meta 172B
Scripts.meta 172B
Plugins.meta 172B
Editor.meta 172B
Demo.meta 172B
ReadMe.md.meta 158B
MobileInput.mm 25KB
ic_launcher_round.png 15KB
ic_launcher_round.png 10KB
ic_launcher.png 9KB
ic_launcher_round.png 7KB
ic_launcher.png 6KB
ic_launcher_round.png 5KB
ic_launcher.png 4KB
ic_launcher.png 3KB
ic_launcher_round.png 3KB
ic_launcher.png 2KB
proguard-rules.pro 751B
proguard-rules.pro 751B
proguard-rules.pro 751B
gradle.properties 783B
gradle-wrapper.properties 233B
gradle_models.ser 186KB
build_file_checksums.ser 646B
Chilanka.ttf 336KB
Demo.unity 52KB
ic_launcher_background.xml 5KB
ic_launcher_foreground.xml 2KB
Project.xml 2KB
AndroidManifest.xml 2KB
modules.xml 619B
gradle.xml 580B
runConfigurations.xml 564B
AndroidManifest.xml 394B
styles.xml 383B
misc.xml 357B
popup.xml 276B
ic_launcher_round.xml 272B
ic_launcher.xml 272B
colors.xml 208B
vcs.xml 183B
AndroidManifest.xml 110B
AndroidManifest.xml 105B
strings.xml 79B
strings.xml 74B
strings.xml 69B
共 100 条
- 1
xianzhang
- 粉丝: 20
- 资源: 4594
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5G网络基础培训课件.zip
- 2024-spring-HIT-CS-大作业
- yolo目标检测项目实验
- downloadFile-1.hc
- C++课程设计:基于Qt的航班信息管理系统
- ADS7822UVerilog驱动,前面传的有点问题
- 基于python的高性能爬虫程序,使用了多线程+缓存+xpath实现的,这里以彼-岸图库为例,实现,仅用于学习交流
- 中分辨率成像光谱仪(MODIS)烧毁面积产品信息MODIS-C6-BA-User-Guide-1.2.pdf
- Screenshot_20240427_172613_com.huawei.browser.jpg
- 关于学习Python的相关资源网站链接及相关介绍.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2