Android SDK目前提供的软键盘弹出模式接口只有两种:
一是弹出时自动回冲界面,将所有元素上顶,
一种则是不重绘界面,直接将控件元素遮住,
没有其他模式,如果想实现其他效果,光使用系统接口是不行的。
解决方法:
第一步:给想要被顶上去的内容嵌套一个 ScrollView :
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="none"
>
…… 想要被顶上去的内容 ……
</ScrollView>
第二步:在 文件中给对应的 Activity 设置 android:windowSoftInputMode="adjustResize"
一些机型到这里问题就已经解决了!
有些机型会出现点击过 EditView 它获得了焦点也弹出了软键盘,
但是收回软键盘后,再点击该 EditView 会出现被软键盘遮挡的情况,
点其它 EditView 后,再来点该 EditView 又恢复正常不再被遮挡,
为了解决此问题见如下:
第三步:
发现去掉 ScrollView 的 android:scrollbars="none" 属性后问题就解决了!
但会出现滚动条,所以这个属性不能去掉,
只需在 Activity 的 onCreate 事件处理函数中的 setContentView 方法后紧跟着写上
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
即可解决此问题!
分享到:
相关推荐
Android 底部控件随软键盘弹出而上移demo
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情: 1.当有焦点产生时,软键盘是隐藏还是显示 2.是否减少活动主窗口大小以便腾出空间...
网上搜到很多关于这方面的介绍,最流行的就是在压缩模式下通过监听onLayout()函数来实现的监听,这种方法可能不适合希望在软键盘弹出时控件平移而非压缩需求的开发者,因此,我们的需求就是在符合任意控件在软键盘...
android 软键盘弹出动态改变UI布局(IM聊天窗口设计示例) 源码
本文主要介绍了Android软键盘弹出时把原来布局顶上去的解决方法。具有一定的参考作用,下面跟着小编一起来看下吧
软键盘弹出时动态改变UI布局学习Demo
android 监听软键盘状态(弹起还是收起),你懂的,没有现成的方法,通过跟布局的高度判断。
之前我们在使用vue进行 h5 表单录入的过程中,遇到了Android软键盘弹出,覆盖 h5页面 输入框 问题,在此进行回顾并分享给大家: 系统:Android 条件:当输入框在可视区底部或者偏下的位置 触发条件:输入框获取焦点,...
近乎完美的监听软键盘的弹出与收起的
android 软键盘把界面顶起的问题 ,研究大半天,希望对大家有帮助。
实现登录界面点击输入按钮弹出软键盘,界面自动上移,使得软键盘不会遮住登录按钮,和微信登录界面效果类似。
监听软键盘弹出改变布局demo
本文实例讲述了Android软键盘弹出时的界面控制方法。分享给大家供大家参考,具体如下: 有时候androidactivity弹出软键盘后布局改变 下面有三种模式可以改变软键盘弹出以后的显示形式 模式一:压缩模式软键盘弹出...
Android绑定EditText自动弹出自定义软键盘不同按键设置不同背景的实现(自动向上顶适应布局),适配带虚拟键盘的特殊机型,
主要介绍了Android实现输入法弹出时把布局顶上去和登录按钮顶上去的解决方法,需要的朋友可以参考下
指定android:windowSoftInputMode=”adjustResize|stateAlwaysHidden”这个的做法是为了让键盘弹出时改变布局。 让Activity实现LayoutchangeListener,监听布局的改变,当布局发生的改变为屏幕的1/3时我们认为是...
代码来源: 从facebook React源码ReactRootView中抽离CustomGlobalLayoutListener,用于监听Android系统软键盘的弹出与关闭。 ...软键盘弹出和关闭时,可同时回调 keyboardHeight 软键盘的高度值。
在布局底部放置一个充满屏幕的自定义布局,重写onSizeChanged方法,当高度变化超过100(认为超过100时是软件盘弹出或者隐藏的操作)时,调用接口回调方法,可以认为这个变化的高度就是软键盘的高度 3、计算你想要不...
布局底部有一个控件(见下面布局代码),程序一启动EditView就获取焦点,弹出软键盘,将这个底部的控件也顶上去了,感觉不太好,所以我就想监听下软键盘弹出,此时去隐藏底部控件,软键盘隐藏时则显示底部控件。...