Android - 如何在键盘可见性发生变化时仅调整某些视图的大小
Android - How to resize only certain views when keyboard visibility changes
我有一个 Activity 包含三个 Fragment,它们由底部的 Tabs 控制。
其中一个片段需要键盘,所以我想在键盘可见时调整片段回收器视图的大小,以便回收器视图中的最后一项在键盘上方可见(滚动后)。
但是如果在 AndroidManifest.xml 中,我指定
android:windowSoftInputMode="adjustResize"
或
android:windowSoftInputMode="adjustPan"
底部的标签也可以在键盘上方看到。
我什至尝试使用 OnGlobalLayoutListener 检查键盘何时可见,然后相应地调整回收器视图的高度。但这也行不通,因为 OnGlobalLayoutListener 仅在
android:windowSoftInputMode="adjustPan"
或 android:windowSoftInputMode="adjustResize"
被使用,这违背了这种情况下的目的。
有什么方法可以使 Fragment 的视图是 resized/adjusted 而不是 activity 视图(底部标签)?
谢谢
我就是这样解决的。
键盘更改在 OnGlobalLayoutListener
中收到,当时
android:windowSoftInputMode="adjustPan"
而且它也不会将底部的标签推到键盘上方。
因此,它解决了手头的问题。
谢谢
我有一个 Activity 包含三个 Fragment,它们由底部的 Tabs 控制。
其中一个片段需要键盘,所以我想在键盘可见时调整片段回收器视图的大小,以便回收器视图中的最后一项在键盘上方可见(滚动后)。
但是如果在 AndroidManifest.xml 中,我指定
android:windowSoftInputMode="adjustResize"
或
android:windowSoftInputMode="adjustPan"
底部的标签也可以在键盘上方看到。
我什至尝试使用 OnGlobalLayoutListener 检查键盘何时可见,然后相应地调整回收器视图的高度。但这也行不通,因为 OnGlobalLayoutListener 仅在
android:windowSoftInputMode="adjustPan"
或 android:windowSoftInputMode="adjustResize"
被使用,这违背了这种情况下的目的。
有什么方法可以使 Fragment 的视图是 resized/adjusted 而不是 activity 视图(底部标签)?
谢谢
我就是这样解决的。
键盘更改在 OnGlobalLayoutListener
中收到,当时
android:windowSoftInputMode="adjustPan"
而且它也不会将底部的标签推到键盘上方。
因此,它解决了手头的问题。
谢谢