教你解决android软键盘挡住输入框问题!
转自:http://blog.csdn.net/leilu2008/article/details/6450405
大家在布局时候,有时候会发现输入框被挡住一部分,能完全显示出来,但是系统自带短信界面
可以完全漂浮在软键盘之上,看了一下短信源码,修改一下输入模式就可以了,源码如下
代码方式:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
也可以简单点:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
xml方式:
<activity android:name=".Activity.FilterActivity" android:label="@string/app_name" android:windowSoftInputMode="stateHidden" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"
/>
下面做个详细的介绍:
软输入法模式选项:
public int softInputMode;
以下选项与输入法模式有关:
软输入区域是否可见。
public static final int SOFT_INPUT_MASK_STATE = 0x0f;
未指定状态。
public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0;
不要修改软输入法区域的状态。
public static final int SOFT_INPUT_STATE_UNCHANGED = 1;
隐藏输入法区域(当用户进入窗口时)。
public static final int SOFT_INPUT_STATE_HIDDEN = 2;
当窗口获得焦点时,隐藏输入法区域。
public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3;
显示输入法区域(当用户进入窗口时)。
public static final int SOFT_INPUT_STATE_VISIBLE = 4;
当窗口获得焦点时,显示输入法区域。
public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5;
窗口应当主动调整,以适应软输入窗口。
public static final int SOFT_INPUT_MASK_ADJUST = 0xf0;
未指定状态,系统将根据窗口内容尝试选择一个输入法样式。
public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0x00;
当输入法显示时,允许窗口重新计算尺寸,使内容不被输入法所覆盖。
不可与SOFT_INPUT_ADJUSP_PAN混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。
public static final int SOFT_INPUT_ADJUST_RESIZE = 0x10;
输入法显示时平移窗口。它不需要处理尺寸变化,框架能够移动窗口以确保输入焦点可见。
不可与SOFT_INPUT_ADJUST_RESIZE混合使用;如果两个都没有设置,系统将根据窗口内容自动设置一个选项。
public static final int SOFT_INPUT_ADJUST_PAN = 0x20;
当用户转至此窗口时,由系统自动设置,所以你不要设置它。
当窗口显示之后该标志自动清除。
public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 0x100;
分享到:
相关推荐
本文将详细介绍5种有效的方法来解决软键盘挡住输入框的问题,并讨论它们的适用场景、优缺点以及使用注意事项。 1. **方法一:非透明状态栏下使用`adjustResize`和`adjustPan`** - `adjustResize`:当键盘弹出时,...
Android 软键盘挡住输入框问题的终极解决方案 Android 软键盘挡住输入框问题是 Android 开发中一个经典的问题,特别是在使用 WebView 的情况下。这篇文章将详细介绍这个问题的成因、解决方案和最终的解决方法。 在...
标题"Android-键盘挡住输入框终极解决办法"正是针对这一常见问题,而描述中的“终极解决办法”暗示我们将探讨一种全面且有效的解决方案。在"Android开发-其它杂项"这一标签下,我们可以知道这个问题虽然不是Android...
Android软键盘挡住输入框问题的终极解决方案 Android开发中,软键盘挡住输入框是一个常见的问题,本文将详细讲解该问题的解决方案。 一、问题描述 在Android开发中,软键盘挡住输入框是一个非常常见的问题。这种...
### 软键盘挡住EditText完美解决方案 在移动应用开发中,经常会遇到这样一个问题:当用户在界面上点击一个输入框(EditText)时,软键盘弹出后会遮挡该输入框,导致用户无法清晰地看到自己正在输入的内容,极大地...
Android软键盘遮挡问题解决demo 在开发登录界面时,在点击某个EditText准备输入时,弹出的软键盘遮挡了按钮或者下面的输入框。在完成这个文本框的输入后,想要继续下面的操作,需要先隐藏软键盘。这会影响用户操作的...
总的来说,解决安卓输入框被虚拟键盘挡住的问题需要开发者具备良好的跨平台适配意识和技术,可能涉及到页面布局的动态调整、滚动事件的监听以及对不同浏览器行为的理解。尽管存在一些限制,但通过不断尝试和优化,总...
对于源码和工具的研究,可以深入到Android系统的源码,理解`WindowManager`和`View`的工作机制,这有助于更好地解决问题和优化性能。同时,熟悉使用Android Studio的各种工具,如布局预览、调试器等,也可以帮助...
为了解决软键盘遮挡输入框的问题,可以通过监听软键盘弹出的情况,并相应地调整布局的高度来解决这一问题。具体实现可以参考以下步骤: 1. **获取当前Activity:** ```java public static void assistActivity...
在Xamarin Android应用开发中,有时会遇到一个问题:当用户打开软键盘进行输入时,由于屏幕高度限制,软键盘可能会遮挡住部分应用界面,特别是那些位于屏幕底部的控件。这种情况给用户带来了不便,因为他们无法直接...
我们在开发Android应用中,登录和注册界面是少不了的,往往在做登录注册的时候如果给界面加一个LOGO, 就有可能把用户名和密码框放在手机屏幕...这样用户体验是不好的,该demo是一个解决该问题相对比较好的一个方法了。
在Android平台上,开发H5页面时常遇到一个问题:当用户点击位于页面底部或下方的输入框时,软键盘弹出会遮挡输入框,导致用户体验不佳。这个问题主要涉及到H5页面的布局、Android设备的交互特性以及浏览器的适配。...
输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决? 二、简单解决方案 方法一 在你的activity中的oncreate中setContentView之前写上这个代码 ...
综上所述,解决Android软键盘遮挡按钮的问题可以通过多种方式实现,具体选择哪种方法取决于应用场景和设计需求。通常,结合使用`ScrollView`和在AndroidManifest.xml中设置`windowSoftInputMode`是最简单且效果良好...
总之,解决Android软键盘遮挡登录按钮的问题通常涉及调整布局、修改Activity的软输入模式,或者使用第三方库和自定义代码。根据应用的具体需求和设计,选择最适合的解决方案,以提供最佳的用户体验。在实际开发中,...
在IT行业中,尤其是在移动应用开发或者网页设计领域,"键盘遮挡问题"是一个常见的用户体验问题。当用户在手机或平板设备上使用输入框(textField)时,如果键盘弹出,可能会遮挡住输入框,导致用户无法看到正在输入的...
"登录按钮不被弹出软键盘覆盖"这个问题是一个常见的用户体验问题,尤其是在Android平台上。当用户在登录页面填写用户名和密码时,如果点击输入框弹出软键盘,登录按钮可能会被键盘遮挡,导致用户无法直接看到或点击...