大家在布局时候,有时候会发现输入框被挡住一部分,能完全显示出来,但是系统自带短信界面
可以完全漂浮在软键盘之上,看了一下短信源码,修改一下输入模式就可以了,源码如下
代码方式:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#ff0000">
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN</span>);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
上面的那个字段是让,edittext默认不显示软键盘,只有edittext被点击时,软键盘才弹出
也可以简单点:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
xml方式:
<activity android:name=".Activity.FilterActivity"<wbr> android:label="@string/app_name"<wbr><wbr>android:windowSoftInputMode="stateHidden" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"<br><wbr>/><br><br><br>
下面做个详细的介绍:<br><br>
软输入法模式选项:public int softInputMode;<br><br>
以下选项与输入法模式有关:软输入区域是否可见。<br><br>
public static final int SOFT_INPUT_MASK_STATE = 0x0f;<br><br>
未指定状态。<br>
public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0;<br><br>
不要修改软输入法区域的状态。<br>
public static final int SOFT_INPUT_STATE_UNCHANGED = 1;<br><br>
隐藏输入法区域(当用户进入窗口时)。<br>
public static final int SOFT_INPUT_STATE_HIDDEN = 2;<br><br>
当窗口获得焦点时,隐藏输入法区域。<br>
public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3;<br><br>
显示输入法区域(当用户进入窗口时)。<br>
public static final int SOFT_INPUT_STATE_VISIBLE = 4;<br><br>
当窗口获得焦点时,显示输入法区域。<br>
public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5;<br><br>
窗口应当主动调整,以适应软输入窗口。<br>
public static final int SOFT_INPUT_MASK_ADJUST = 0xf0;<br><br>
未指定状态,系统将根据窗口内容尝试选择一个输入法样式。<br>
public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0x00;<br><br>
当输入法显示时,允许窗口重新计算尺寸,使内容不被输入法所覆盖。<br>
不可与SOFT_INPUT_ADJUSP_PAN混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。<br>
public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;<br><br>
输入法显示时平移窗口。它不需要处理尺寸变化,框架能够移动窗口以确保输入焦点可见。<br>
不可与SOFT_INPUT_ADJUST_RESIZE混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。<br>
public static final int SOFT_INPUT_ADJUST_PAN = 0x20;<br><br>
当用户转至此窗口时,由系统自动设置,所以你不要设置它。<br>
当窗口显示之后该标志自动清除。<br>
public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100;</wbr></wbr></wbr></wbr>
大家在布局时候,有时候会发现输入框被挡住一部分,能完全显示出来,但是系统自带短信界面
可以完全漂浮在软键盘之上,看了一下短信源码,修改一下输入模式就可以了,源码如下
代码方式:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span style="color:#ff0000">
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN</span>);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
上面的那个字段是让,edittext默认不显示软键盘,只有edittext被点击时,软键盘才弹出
也可以简单点:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
xml方式:
<activity android:name=".Activity.FilterActivity"<wbr> android:label="@string/app_name"<wbr><wbr>android:windowSoftInputMode="stateHidden" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"<br><wbr>/><br><br><br>
下面做个详细的介绍:<br><br>
软输入法模式选项:public int softInputMode;<br><br>
以下选项与输入法模式有关:软输入区域是否可见。<br><br>
public static final int SOFT_INPUT_MASK_STATE = 0x0f;<br><br>
未指定状态。<br>
public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0;<br><br>
不要修改软输入法区域的状态。<br>
public static final int SOFT_INPUT_STATE_UNCHANGED = 1;<br><br>
隐藏输入法区域(当用户进入窗口时)。<br>
public static final int SOFT_INPUT_STATE_HIDDEN = 2;<br><br>
当窗口获得焦点时,隐藏输入法区域。<br>
public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3;<br><br>
显示输入法区域(当用户进入窗口时)。<br>
public static final int SOFT_INPUT_STATE_VISIBLE = 4;<br><br>
当窗口获得焦点时,显示输入法区域。<br>
public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5;<br><br>
窗口应当主动调整,以适应软输入窗口。<br>
public static final int SOFT_INPUT_MASK_ADJUST = 0xf0;<br><br>
未指定状态,系统将根据窗口内容尝试选择一个输入法样式。<br>
public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0x00;<br><br>
当输入法显示时,允许窗口重新计算尺寸,使内容不被输入法所覆盖。<br>
不可与SOFT_INPUT_ADJUSP_PAN混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。<br>
public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;<br><br>
输入法显示时平移窗口。它不需要处理尺寸变化,框架能够移动窗口以确保输入焦点可见。<br>
不可与SOFT_INPUT_ADJUST_RESIZE混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。<br>
public static final int SOFT_INPUT_ADJUST_PAN = 0x20;<br><br>
当用户转至此窗口时,由系统自动设置,所以你不要设置它。<br>
当窗口显示之后该标志自动清除。<br>
public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100;</wbr></wbr></wbr></wbr>
分享到:
相关推荐
android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: <activity android:name=".Main" android:...
通过重写onLayout方法,判断软键盘是否弹出。判断到键盘是否弹出后,就可以做自己想做的事情了。
Android 底部控件随软键盘弹出而上移demo
监听Android软键盘弹出和收起事件(所有代码都是抽离自facebook/react-native源码中, 亲测有效, 放心食用)。回调事件方法参数包含键盘是否弹出(isShow)、键盘高度(keyboardHeight)、屏幕可用高度(screenHeight)、屏幕...
android 监听软键盘状态(弹起还是收起),你懂的,没有现成的方法,通过跟布局的高度判断。
网上搜到很多关于这方面的介绍,最流行的就是在压缩模式下通过监听onLayout()函数来实现的监听,这种方法可能不适合希望在软键盘弹出时控件平移而非压缩需求的开发者,因此,我们的需求就是在符合任意控件在软键盘...
android中监听软键盘的弹出与隐藏,并获取软键盘的高度,在adjustPan,adjustResize,adjustUnspecified下都可以
近乎完美的监听软键盘的弹出与收起的
软键盘弹出之后,计算软键盘的高度,将自定义的View设置于软键盘之上。代码重点计算了如何让软键盘显示与隐藏,并且,还解决了如何点击软键盘与自定义View 之外的区域,让软键盘隐藏而不会与其他控件的点击事件冲突...
imm.showSoftInput(m_receiverView(接受软键盘输入的视图(View)),InputMethodManager.SHOW_FORCED(提供当前操作的标记,SHOW_FORCED表示强制显示)); 方法二、 InputMethodManager m=(InputMethodManager) ...
禁止软键盘弹出,自定义键盘
在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮,这样的用户体验非常不好。像微信则直接把登录按钮做在输入框的...
android软键盘上添加一个按钮
在开发时遇到一个问题,需要对软...但是由于android不直接提供对软键盘打开与关闭操作的监听器,所以必须自己来写一个关于软键盘打开/关闭的监听器。 原理是通过对OnGlobalLayoutListener()来实现对软键盘的状态监听器
Unity3D android 拉起android软键盘 最近公司项目有一个手机VR展厅业务,用U3D做VR场景还可以做到,后面要加个2D的线下预定页面,就涉及到3D 2D界面转换,首先考虑u3d作为插件,不考虑升级客户端,更新U3D资源来升级...
最简单的数字软键盘例子,包含QlineEdit弹出的部分,方便自己根据需要修改。比qt自带的例子inputpanel简单的多。
在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,怎么实现这种效果呢?下面小编给大家分享了Android屏蔽软键盘自动弹出的解决方案,需要的朋友参考下吧
在全屏、非全屏的情况下,弹出软键盘遇到的坑的解决方法
android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置demo
android 软键盘把界面顶起的问题 ,研究大半天,希望对大家有帮助。