首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发中软键盘显示和隐藏

本篇内容通过操作软键盘函数着手详细分析了隐藏或者显示软键盘实现方法,并且对其中重要代码做了详细分析。 一、开篇 如果有需要用到输入地方,通常会有需要自动弹出或者收起软键盘需求。...想要在页面一启动时候就弹出键盘,可以在 Activity 上,设置 android:windowSoftInputMode 属性来完成,或者做一个延迟加载,View.postDelayed() 也是一个解决方案...2.3 隐藏软键盘 虽然 showSoftInput() 方法是有效,但是想要隐藏软键盘,就没有提供对应 hideSoftInput() 方法,但是却有一个 hideSoftInputFromWindow...() 方法,可以用来隐藏软键盘。...而第二个参数,就是隐藏软键盘标志位,如果没有特殊要求的话,直接传递 0 就好了。

2.5K10

Android开发时多点是如何实现

对于Android自定义控件开发,多点是一个必须要懂知识点。因为在正常情况下操作正常控件,使用多指操作时,基本上都会出现问题。当需要对多指操作进行兼容时,就需要这方面的知识了。...本文选自《Android自定义控件高级进阶与精彩实例》一书,带你了解多点基本知识。 ---- —— 正文 —— 假如,我们做了这么一个功能,图像跟随手指移动。...▼ 单点与多点 1 单点 单点与多点是相对,单点意思是,我们只考虑一根手指情况,而且仅处理一根手指触摸事件,而多点是处理多根手指触摸事件。...除了消息,我们也经常用下面这几个函数来获取手指位置等信息,这些函数都没有参数,也都只有在单点时才能使用。 对于这几个函数使用方法,这里就不再赘述了。...说明:单点是通过getAction来获取当前事件类型,而多点是通过getActionMasked来获取。 多点涉及消息类型与单点不一样,它消息类型如下。

97820
您找到你想要的搜索结果了吗?
是的
没有找到

详解Android中获取软键盘状态和软键盘高度

详解Android中获取软键盘状态和软键盘高度 应用场景 在Android应用中有时会需要获取软键盘状态(即软键盘是显示还是隐藏)和软键盘高度。这里列举了一些可能应用场景。...API困境 Android SDK中没有提供任何API来直接获取软键盘状态和软键盘高度,网上很多资料说InputMethodManagerisActive()方法可以获取软键盘状态,不过实际测试发现...注册布局变化监听 在Android中当软键盘隐藏变为显示,或由显示变为隐藏时,会触发当前布局中View全局布局变化。通过监听全局布局变化就可以得知软键盘状态。...不过好在除了软键盘,其他操作对窗口可见区域影响占整个屏幕大小比例都不是很大,通过设置一个合理阈值,就可以较准确判断出是否是软键盘显示和隐藏引起布局变化。...Window可见区域高度差值大于整个屏幕高度1/3,则表示软键盘显示中,否则软键盘隐藏状态。

2.7K20

Android 软键盘那些事

android:windowSoftInputMode activity主窗口与软键盘交互模式,可以用来避免输入法面板遮挡问题,Android1.5后一个新特性。...【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize:该Activity总是调整屏幕大小以便留出软键盘空间(可以显示全部屏幕) 【I...】adjustPan:当前窗口内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容部分(软键盘会遮挡屏幕android:windowSoftInputMode 活动主窗口如何与包含屏幕软键盘窗..."stateHidden" 当用户选择该Activity时,软键盘隐藏——也就是说,当用户确定导航到该Activity时,不管他离开Activity软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个..."adjustResize" 该Activity主窗口总是被调整屏幕大小以便留出软键盘空间 "adjustPan" 该Activity主窗口并不调整屏幕大小以便留出软键盘空间。

1.9K10

Android开发:最全面、最易懂Android屏幕适配解决方案

Android 屏幕适配 鸿洋:Android 屏幕适配方案 凯子: Android屏幕适配全攻略(最权威官方适配指导) 自身思考&实践 给你带来一种全新、全面而逻辑清晰Android屏幕适配思路...使得“图片资源”匹配不同屏幕密度 ---- 解决方案 问题:如何进行屏幕尺寸匹配?...但是LinearLayout**无法准确地控制子视图之间位置关系**,只能简单一个挨着一个地排列 所以,对于屏幕适配来说,使用相对布局(RelativeLayout)将会是更好解决方案 本质2:根据屏幕配置来加载相应...UI资源 使用场景 你需要为标准 7 英寸平板电脑匹配双面板布局(其最小宽度为 600 dp),在手机(较小屏幕上)匹配单面板布局 解决方案:您可以使用上文中所述单面板和双面板这两种布局,...---- 总结 经过上面的介绍,对于屏幕尺寸大小适配问题应该是不成问题了。 ---- 解决方案 问题:如何进行屏幕密度匹配? 答: ?

2.6K70

Android UI开发中所遇到各种坑

1.软键盘隐藏问题 问题描述:Activity按下返回调用finish()方法后,界面已经销毁,但是软键盘依然还留在屏幕上,这让当前正在显示Activity没有输入框完全没法看,非常严重视觉影响。...还尝试过用基类找到所有edittext然后让它们失去焦点,隐藏软键盘。...:一开始在onDestroy()里调隐藏软键盘思路就是错,因为onDestroy()之前还有两个生命周期方法,像上述隐藏软键盘方法有个getCurrentFocus(),在onDestroy()之前肯定得不到正确获取当前焦点那个控件了...所以在onPasue()方法里隐藏软键盘就有效,在onDestroy()方法里不管用任何方法都是无效。...注意点:用这个隐藏软键盘方法,最好做为空判断,否则有可能会出现空指针异常,如当前界面没有控件获取焦点时,则getCurrentFocus()这个方法得到是一个null.

1.3K20

Android笔记:软键盘弹出遮盖原来界面的布局控件

" android:windowSoftInputMode="adjustPan" android:screenOrientation="portrait" android...如果加上android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。...:当这个activity出现时,软键盘将一直保持在上一个activity里状态,无论是隐藏还是显示   【C】stateHidden:用户选择activity时,软键盘总是被隐藏   【D】stateAlwaysHidden...:当该Activity主窗口获取焦点时,软键盘也总是被隐藏   【E】stateVisible:软键盘通常是可见   【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示状态...  【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示   【H】adjustResize:该Activity总是调整屏幕大小以便留出软键盘空间   【I】adjustPan

1K20

Android开发常用知识点

软键盘状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适状态或依赖于主题设置。...stateHidden 当用户选择该Activity时,软键盘隐藏——也就是说,当用户确定导航到该Activity时,不管他离开Activity软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个...stateAlwaysHidden 当该Activity主窗口获取焦点时,软键盘总是被隐藏,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...adjustUnspecified 这个是软件盘行为默认设置。它不被指定是否该Activity主窗口调整大小以便留出软键盘空间,或是否窗口上内容得到屏幕上当前焦点是可见。...adjustResize 该Activity主窗口总是被调整屏幕大小以便留出软键盘空间 adjustPan 该Activity主窗口并不调整屏幕大小以便留出软键盘空间。

2.5K10

Android爬坑之旅:软键盘挡住输入框问题终极解决方案

如果Activity是全屏模式,那么android.R.id.content就是占满全部屏幕区域。...其他情况,如Activity是弹窗、或者7.0以后分屏样式等,android.R.id.content也是弹窗范围或者分屏所在半个屏幕——这些情况较少,就暂且不考虑了。...↑也可以看出: rect.top值,其实就是标题栏高度。(实际上,这也常常被用作为获取标题栏高度方法) 屏幕高度-rect.bottom,是软键盘高度。...因为能触发OnGlobalLayout事件原因有很多,不止是软键盘弹出变化,还包括各种子View隐藏显示变化等,它们对界面高度影响有限。...加上了这个判断之后,只有界面的高度变化超过1/4屏幕高度,才会进行重新设置高度,基本能保证代码只响应软键盘弹出。

4.4K20

Ionic3学习笔记(九)关于 Android软键盘弹出后界面被压缩问题

今天做了一个登录注册页,iOS 端毫无 bug,Android 端却出现了问题。...当软键盘弹出后,Android tabs 移到了软键盘上面,再仔细一看,整个界面都被压扁了,输入框也不知道去哪儿了。...stateUnspecified 未指定软键盘状态,系统将自动选择一个合适状态或依赖于主题中设置。 stateUnchanged 当前界面的软键盘状态取决于上一个界面的软键盘状态。...stateHidden 用户选择 Activity 时,软键盘总是被隐藏。 stateAlwaysHidden 当该 Activity 主窗口有输入需求时,软键盘总是被隐藏。...adjustUnspecified 未指定软键盘与界面内容之间显示关系。 adjustResize 该 Activity 总是调整屏幕大小以便留出软键盘空间。

93820

解决Android软键盘弹出覆盖h5页面输入框问题

之前我们在使用vue进行 h5 表单录入过程中,遇到了Android软键盘弹出,覆盖 h5页面 输入框 问题,在此进行回顾并分享给大家: 系统:Android 条件:当输入框在可视区底部或者偏下位置...header和footer剩余高 position:absolute; top:50px; bottom:48px; } .footer{ width:100%; height...自适应布局后,高度跟随屏幕可用高度改变而改变导致。...解决方案: 方案1 页面渲染完成后,通过JS动态获取屏幕可视区高度(注:屏幕旋转后,需重新获取屏幕高度并赋值),并将其赋值到bodyheight,这样body高度一直都是屏幕高度,当软键盘弹出后,...100); } }); 总结 以上所述是小编给大家介绍解决Android软键盘弹出覆盖h5页面输入框问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

5.2K30

android基础

android.intent.category.LAUNCHER 决定应用程序是否显示在程序列表里 android:windowSoftInputMode activity主窗口与软键盘交互模式,可以用来避免输入法面板遮挡问题...这个属性能影响两件事情: 【一】当有焦点产生时,软键盘隐藏还是显示 【二】是否减少活动主窗口大小以便腾出空间放软键盘设置必须是下面列表中一个值,或一个”state…”值加一个”adjust…”...:当这个activity出现时,软键盘将一直保持在上一个activity里状态,无论是隐藏还是显示 【C】stateHidden:用户选择activity时,软键盘总是被隐藏 【D】stateAlwaysHidden...:当该Activity主窗口获取焦点时,软键盘也总是被隐藏 【E】stateVisible:软键盘通常是可见 【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示状态...【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize:该Activity总是调整屏幕大小以便留出软键盘空间 【I】adjustPan

76220

Android 屏幕适配】屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局比例系数 )

文章目录 一、计算素材宽高与屏幕布局宽高比例系数 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同像素密度 声明受限屏幕支持 在博客 【Android 屏幕适配】屏幕适配通用解决方案 ② ( 自定义组件解决方案...实际坐标数据 ; 在博客 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 中 , 完成了前两项工作 , 已经获取了实际屏幕数据...*/ public final float REFERENCE_HEIGHT = 1232; 通过 , 可以得到屏幕中布局宽高 , 直接记录在成员变量中 ; 在 【Android 屏幕适配】屏幕适配通用解决方案...float REFERENCE_HEIGHT = 1232; 屏幕布局宽度 , 在 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据...screenWidth; 屏幕布局高度 , 在 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 二、获取设备屏幕数据 博客章节完成了对应数据计算

1.1K10
领券