显示或隐藏Android软键盘时调整布局

我的目标是实现诸如Facebook Messenger,Viber等大多数消息传递应用程序,当显示附件表单时,该做什么。 如果软键盘可见并且用户想要附加某些东西,则键盘将被隐藏,并且附件表将显示在其位置上。

为了做到这一点,在根视图大小改变时应该发生布局改变。 否则,会在显示/隐藏键盘之前不久应用我的布局更改时发生图形故障

如果我可以在键盘被隐藏的时候改变我的布局,那么我就可以做到。 我曾尝试使用onGlobalLayoutListener但没有期望的结果。

在这里输入图像描述


将此行添加到您的活动清单中。

 <activity
        android:name="com.your.Activity"
        android:windowSoftInputMode="stateHidden|adjustPan" />

使用此代码这将是有帮助的。

android:windowSoftInputMode="adjustNothing"

找出布局是否因键盘(dis)出现而发生变化并根据变化采取行动的最佳位置位于根布局的onMeasure()内部。

更详细地说,我制作了一个自定义的LinearLayout,用作我的根布局。 我忽略了onMeasure并计算出当前的键盘高度。 根据键盘的高度以及我的附件网格是否可见,我更改附件网格的可见性。 我甚至可以将网格的高度设置为与键盘相同。

结果看起来像网格总是在键盘下方,textview保持在同一垂直位置。

链接地址: http://www.djcxy.com/p/93433.html

上一篇: Adjust the layout when the Android soft keyboard is shown or hidden

下一篇: How to avoid cancellation of animator effect when soft keyboard appears?