软键盘

Unity IOS 软键盘输入框问题

自闭症网瘾萝莉.ら 提交于 2019-12-10 05:41:22
Unity的软键盘输入框在IphoneX上第一次打开时,有一半会飞到屏幕外面,研究后发现是因为软键盘输入框在计算高度时候没将整个游戏的frame的偏移设置进去,而第一次打开输入框的时候偏移较大,所以飞到界面外面了。 知道问题了就好办了,打开Unity导出的IOS工程的Class/UI/Kayboard.mm文件,找到里面的positionInput方法,将 editView.frame = CGRectMake(0, y - kToolBarHeight, kbRect.size.width, kToolBarHeight); 替换为 editView.frame = CGRectMake(0, y - kToolBarHeight - [UnityGetGLView() frame].origin.y, kbRect.size.width, kToolBarHeight); 即可解决。 可直接下载该文件替换: https://download.csdn.net/download/yhjsspz/12021727 来源: CSDN 作者: yhjsspz 链接: https://blog.csdn.net/yhjsspz/article/details/103461033

android软键盘的显示后隐藏

你离开我真会死。 提交于 2019-12-06 18:48:07
一:简述 点击文本框EditText,系统会自动弹出软键盘(其本质是一个Dialog),这必然会引起当前Activity主窗口的大小调整 而Android提供了不同的可选模式去调整活动窗口的大小,与之相关的属性为:android:windowSoftInputMode, 当然具体的实现是由系统完成的 可以在清单文件Manifest.xml中的Activity标签内设置 如:android:windowSoftInputMode="stateUnspecified|adjustPan" 该属性可选的值有两部分,一部分为软键盘的状态控制,另一部分是活动主窗口的调整。前一部分本文不做讨论,请读者自行查阅android文档。 一: 压缩模式 android:windowSoftInputMode="adjustResize", 那么不管活动主窗口压缩后文本框EditText是否可见(这将于下面一种模式形成对比), 当前Activity主窗口顶部保持不变,总是被从下向上压缩,压缩的距离等于软键盘的高度 测试代码(Android2.3.3SDK): public class CustomRelativeLayout extends RelativeLayout{ public CustomRelativeLayout(Context context, AttributeSet attrs) {

H5写移动端几个兼容性问题

China☆狼群 提交于 2019-12-06 16:14:50
1、ios端兼容input光标高度    问题详情描述: input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样。例如下图,左图是正常所期待的输入框光标,右边是ios的input光标。 出现原因分析: 通常我们习惯用height属性设置行间的高度和line-height属性设置行间的距离(行高),当点击输入的时候,光标的高度就自动和父盒子的高度一样了。(谷歌浏览器的设计原则,还有一种可能就是当没有内容的时候光标的高度等于input的line-height的值,当有内容时,光标从input的顶端到文字的底部 解决办法: 高度height和行高line-height内容用padding撑开 2、ios端微信h5页面上下滑动时卡顿、页面缺失 问题详情描述: 在ios端,上下滑动页面时,如果页面高度超出了一屏,就会出现明显的卡顿,页面有部分内容显示不全的情况,例如下图,右图是正常页面,边是ios上下滑动后,卡顿导致如左图下面部分丢失。 出现原因分析: 笼统说微信浏览器的内核,Android上面是使用自带的WebKit内核,iOS里面由于苹果的原因,使用了自带的Safari内核,Safari对于 overflow-scrolling 用了原生控件来实现。对于有 -webkit-overflow-scrolling 的网页,会创建一个

fastclick使用与 fastclick ios11.3相关bug原因(ios输入框点击变得不灵敏,ios input失焦后,页面上移,点击不了)

南笙酒味 提交于 2019-12-06 15:06:09
FastClick 移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,就有了FastClick。 安装fastclick可以使用npm,Component和Bower。另外也提供了Ruby版的gem fastclick-rails 以及.NET提供了 NuGet package 。 npm install fastclick  import FastClick from ' fastclick ';  Vue.use(FastClick);  //在main.js中引入,并绑定到body。 import FastClick from 'fastclick' FastClick.attach(document.body); 最近发现升级到ios11.3之后,输入框点击变得不灵敏,第二次点击页面中的输入框需要长按一会才能正常唤起键盘输入。 解决方案 FastClick.js原文件的FastClick.prototype.focus FastClick.prototype.focus = function(targetElement) { var length; if (deviceIsIOS && targetElement.setSelectionRange && targetElement

fastclick插件中存在的bug

戏子无情 提交于 2019-12-06 12:41:58
1、在vue项目中安装fastclick插件 npm install --save fastclick 2、在main.js中引入并绑定到body import FastClick from 'fastclick' FastClick.attach(document.body); 3、在项目中安装fastclick成功后测试会遇到以下问题: os input点击不灵敏 解决方法: vue项目中使用fastclick时ios input点击不灵敏 FastClick.prototype.focus = function(targetElement) { var length; var deviceIsWindowsPhone = navigator.userAgent.indexOf("Windows Phone") >= 0; var deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent) && !deviceIsWindowsPhone; //兼容处理:在iOS7中,有一些元素(如date、datetime、month等)在setSelectionRange会出现TypeError //这是因为这些元素并没有selectionStart和selectionEnd的整型数字属性,所以一旦引用就会报错

Android刘海屏适配 ----- ImmersionBar

老子叫甜甜 提交于 2019-12-06 02:58:44
android 4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色,以及不可修改字体颜色手机的适配,适用于Activity、Fragment、DialogFragment、Dialog,PopupWindow; 引入 // 基础依赖包,必须要依赖 implementation 'com.gyf.immersionbar:immersionbar:3.0.0' // fragment快速实现(可选) implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0' // kotlin扩展(可选) implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0 关于全面屏与刘海 ① 在manifest的Application节点下加入 <meta-data android:name="android.max_aspect" android:value="2.4" /> ② 在manifest的Application节点中加入 android:resizeableActivity="true" ③ 在manifest的Application节点中加入 android

实现输入界面适应键盘的显示和隐藏事件

久未见 提交于 2019-12-06 02:01:17
方法一、设置activity的windowSoftInputMode属性 在AndroidManifest配置activity的 windowSoftInputMode为“ adjustResize ”,一般能解决问题。 其他取值说明: "stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。 "stateUnchanged" 软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。 "stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。 "stateAlwaysHidden" 软键盘总是被隐藏的,当该Activity主窗口获取焦点时。 "stateVisible" 软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。 "stateAlwaysVisible" 当用户选择这个Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。 "adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间

android项目中软键盘交互

匿名 (未验证) 提交于 2019-12-03 00:20:01
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情: 【A】当有焦点产生时,软键盘是隐藏还是显示 【B】是否减少活动主窗口大小以便腾出空间放软键盘 各值的含义: 【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置 【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 【C】stateHidden:用户选择activity时,软键盘总是被隐藏 【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的 【E】stateVisible:软键盘通常是可见的 【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态 【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间 【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分 文章来源: android项目中软键盘交互