`
iaiai
  • 浏览: 2216229 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 软键盘弹出时布局内指定内容上移实现及问题解决

 
阅读更多
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 设置一个底部控件view随着软键盘的弹出而上移

    总的来说,实现Android底部控件随软键盘弹出上移是一项常见的优化操作,它涉及到对Android布局机制的理解以及适时的事件监听和响应。通过灵活运用Android提供的组件和接口,或者借助第三方库,我们可以轻松解决这个...

    android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置demo

    这个"android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置demo"着重于解决两个关键问题:一是检测输入法键盘是否弹出,二是当键盘弹出时如何自动调整界面布局以确保重要内容可见。 首先,我们要...

    Android判断软键盘是否弹出

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

    Android实现键盘弹出界面上移的实现思路

    activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。 这个属性能影响两件事情:  1.当有焦点产生时,软键盘是隐藏还是显示  2.是否减少活动主窗口大小以便腾出空间...

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

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

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

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

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

    本示例"软键盘弹出时动态改变UI布局学习Demo"着重讲解如何处理这一常见问题,以提供良好的用户体验。 首先,我们需要理解Android中的布局管理。在默认情况下,当软键盘弹出时,Android会调整Activity的布局以适应...

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

    本文将详细介绍如何解决这一问题,实现软键盘弹出时页面整体上移,以及点击空白区域收起软键盘的效果,并且将11位手机号格式化为xxx xxxx xxxx的显示形式。 首先,要让页面整体上移,我们需要在`AndroidManifest....

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

    当软键盘弹出时,屏幕可用高度会减少;隐藏时,高度恢复。代码示例: ```java final View activityRootView = findViewById(R.id.activity_root); activityRootView.getViewTreeObserver()....

    监听软键盘的弹出与收起

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

    android 软键盘把界面顶起

    Android 软键盘调整界面问题解决方案 Android 软键盘的问题是 Android 开发中常见的问题之一。软键盘的出现可能会导致界面被顶起或被遮挡,从而影响用户体验。解决这个问题需要了解软键盘的属性和调整方法。 首先...

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

    解决Android软键盘弹出覆盖h5页面输入框问题 知识点一:Android软键盘弹出机理 Android软键盘弹出是Android系统中的一种输入方式,当用户触发输入框焦点时,软键盘会弹出以便用户输入内容。在h5页面中,软键盘弹出...

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

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

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

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

    android 输入法弹出布局自动上移

    本篇文章将深入探讨如何实现"android 输入法弹出布局自动上移"这一功能,以确保在软键盘出现时,界面能够适应性地移动,类似于微信登录界面的效果。 首先,我们需要理解Android布局中的"windowSoftInputMode"属性。...

    Android高级应用源码-android解决软键盘遮挡输入框的示例代码.zip

    首先,我们需要理解Android布局在软键盘弹出时的行为。默认情况下,Android会将整个布局向上移动以适应软键盘的显示,但这可能导致输入框仍然被键盘遮挡。为了解决这个问题,我们可以使用以下几种方法: 1. **调整...

    软键盘顶起页面布局

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

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

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

    禁止软键盘弹出,自定义键盘

    综上所述,实现禁止软键盘弹出并使用自定义键盘的功能,涉及到了Android布局设计、事件监听、DialogFragment的使用以及输入管理等多个方面。通过合理的设计和编程,我们可以提供更符合应用场景的用户体验。在keydemo...

    监听软键盘弹出和隐藏

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

Global site tag (gtag.js) - Google Analytics