`
咖啡动力
  • 浏览: 440940 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Android软键盘弹出不影响布局的方法

 
阅读更多
The AndroidManifest.xml File
<activity android:windowSoftInputMode=["stateUnspecified",
"stateUnchanged", "stateHidden",
"stateAlwaysHidden", "stateVisible",
"stateAlwaysVisible", "adjustUnspecified",
"adjustResize", "adjustPan"] …… >
</activity>
attributes:
android:windowSoftInputMode
活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:
1>     软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。
2>     活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。
它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。例如: <activity android:windowSoftInputMode=”stateVisible|adjustResize” . . . >
在这设置的值(除”stateUnspecified”和”adjustUnspecified”以外)将覆盖在主题中设置的值

描述
“stateUnspecified”
软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。
这个是为了软件盘行为默认的设置。

“stateUnchanged”
软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。
“stateHidden”
当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
“stateAlwaysHidden”
软键盘总是被隐藏的,当该Activity主窗口获取焦点时。
“stateVisible”
软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。
“stateAlwaysVisible”
当用户选择这个Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
“adjustUnspecified”
它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。
“adjustResize”
该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间
“adjustPan”
该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。



关闭软键盘:
InputMethodManager m = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
                m .hideSoftInputFromWindow(mContentEt.getWindowToken(), 0);
分享到:
评论

相关推荐

    android软键盘把布局顶上去问题

    如果布局是在Fragment中,可以尝试在软键盘弹出时使用`FragmentTransaction`的`setCustomAnimations()`方法,配合动画效果,使内容区域平滑地上移。 6. **使用 CoordinatorLayout 和 AppBarLayout**: 对于使用了...

    Android判断软键盘是否弹出

    Android系统在软键盘弹出或隐藏时会触发Activity的布局过程,我们可以通过监听这个过程来判断软键盘的状态。描述中提到的方法是通过重写`onLayout`方法来实现这一功能。 `onLayout`方法是View类的一个回调方法,它...

    Android 设置一个底部控件view随着软键盘的弹出而上移

    在默认情况下,Android布局是静态的,当软键盘弹出时,布局不会自动调整。要改变这一行为,我们通常会采用以下几种方法: 1. **调整Activity的WindowSoftInputMode**: 在AndroidManifest.xml中,找到对应的...

    android 软键盘把界面顶起

    软键盘的出现可能会导致界面被顶起或被遮挡,从而影响用户体验。解决这个问题需要了解软键盘的属性和调整方法。 首先,了解软键盘的状态:stateUnspecified、stateUnchanged、stateHidden、stateAlwaysHidden、...

    Android软键盘与聊天页面底部布局之间优雅地切换

    当软键盘弹出时,可以动态调整底部布局的高度,确保关键元素始终可见。 5. **第三方库**:如`androidx.coordinatorlayout.widget.CoordinatorLayout`配合`app:layout_behavior`属性,可以轻松实现与软键盘的交互。...

    5种方法完美解决android软键盘挡住输入框方法详解

    在Android应用开发中,经常会遇到一个问题,即当用户在输入框中输入时,弹出的软键盘会遮挡部分屏幕内容,尤其是对于登录或注册等需要填写多项信息的界面,这种情况严重影响了用户体验。为了解决这个问题,Android...

    android监听软键盘状态

    当软键盘弹出时,由于屏幕空间被占用,Activity的根布局高度会减少。我们可以监听OnGlobalLayoutListener,对比前后布局的高度变化来判断软键盘的状态。以下是一个简单的示例: ```java final View ...

    android 软键盘弹出动态改变UI布局(IM聊天窗口设计示例) 源码

    总之,这个源码示例提供了处理Android软键盘弹出动态改变UI布局的方法,特别是对于IM聊天窗口的设计,具有很高的参考价值。开发者可以通过深入研究这些代码,学习如何在软键盘弹出时优雅地调整布局,提升应用的交互...

    软键盘弹出动态改变UI布局

    在默认情况下,当软键盘弹出时,Android会调整Activity的布局以适应屏幕空间,可能会导致底部的元素被键盘遮挡。这种行为是由系统的WindowManager.LayoutParams.FLAGSoftInputMode属性控制的,它有几种模式如ADJUST_...

    监听软键盘的弹出与收起

    当软键盘弹出时,由于屏幕可用空间减少,根布局的高度会相应减小;而当软键盘收起时,根布局的高度则会恢复。可以通过重写onGlobalLayout()方法并使用ViewTreeObserver来监听布局的变化: ```java rootView....

    android中监听软键盘的弹出与隐藏,并获取软键盘的高度

    if (heightDiff &gt; dpToPx(context, 200)) { // 如果高度差超过200dp,假设软键盘弹出 // 软键盘弹出的处理逻辑 } else { // 软键盘隐藏的处理逻辑 } } }); // dp转px的辅助方法 public static float dpToPx...

    android 监听软键盘状态(弹起还是收起)

    通过以上步骤,我们就能在Android应用中实现对软键盘弹起和收起状态的监听。这种方法并不完美,因为不同的设备可能有不同屏幕尺寸和显示比例,所以可能会出现一些误差。不过,对于大多数常见场景,它已经足够用了。...

    android软键盘上添加一个按钮

    首先,理解Android软键盘的工作原理。软键盘是通过系统的InputMethodService服务实现的,它是一个抽象的服务类,用于创建自定义输入法。然而,系统默认的软键盘并不允许开发者直接在其上添加自定义元素。为了实现在...

    android 软键盘弹出相关的坑之解决方法

    总之,处理Android软键盘弹出的问题需要结合具体应用场景选择合适的方法。理解窗口属性、布局调整和系统UI状态监听是解决问题的关键。希望上述内容能帮助开发者在面对软键盘问题时,能够游刃有余。

    Android 软键盘弹出时把原来布局顶上去的解决方法

    在Android应用开发中,经常会遇到一个问题,即当用户在输入框中点击触发软键盘弹出时,原本在屏幕下方的布局会被键盘顶上去,导致部分界面内容无法查看。为了解决这个问题,Android提供了`windowSoftInputMode`属性...

    监听Android系统软键盘的弹出与关闭(案例代码)

    代码来源: 从facebook React源码ReactRootView中抽离CustomGlobalLayoutListener,用于监听Android系统软键盘的弹出与关闭。 ...软键盘弹出和关闭时,可同时回调 keyboardHeight 软键盘的高度值。

    软键盘顶起页面布局

    在Android开发中,当用户在输入框中点击触发软键盘弹出时,有时会出现软键盘将页面下方的内容顶起,导致部分视图被遮挡的情况。这种现象是由于Android系统默认的行为,它允许Activity的根布局随软键盘的出现而上移,...

    监听软键盘弹出和隐藏

    如果需要在软键盘弹出时让特定控件平移而不改变其在布局中的比例和位置,这种方法可能不太适用。 **方法二:修改Android源码并发送广播** 另一种方法涉及到对Android源码的修改。具体步骤如下: 1. **修改源码**...

    监听软键盘弹出改变布局demo

    4. **使用FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES**:这是Android的一个窗口标志,可以在软键盘弹出时保持布局不被挤压。然而,这可能导致输入框被软键盘覆盖,因此需要根据实际情况选择是否使用。 5. **自定义软键盘...

    Android解决软键盘弹起时遮住登录按钮的问题

    这个属性告诉系统在软键盘弹出时应该如何调整Activity的布局。设置后,当软键盘出现时,整个布局会自动上移,确保底部元素可见。 ```xml android:name=".YourActivity" android:windowSoftInputMode=...

Global site tag (gtag.js) - Google Analytics