如何避免软键盘推高/覆盖我的布局?

时间:2018-10-08 05:33:17

标签: android android-webview android-softkeyboard

我正在寻找一种解决方案,使以相对布局包装的Web视图从顶部移出屏幕,并被软键盘压扁或覆盖。香港专业教育学院在当前状态下使用adjustPan,梦想状态是我想要实现的。使用AdjustResize压缩我的Web视图,以调整键盘丢失的高度,我也不希望这样。我更喜欢使用ios方式来推动整个Web视图,以使操作栏超过屏幕边界(如果需要)。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.in.thewizards.MainActivity">

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:hardwareAccelerated="true"
        android:allowClearUserData="false"
        android:scrollbars="none"/>
</RelativeLayout>

enter image description here

3 个答案:

答案 0 :(得分:0)

为您在AndroidManifest.xml中的活动使用AdjustResize值 像这样:

<activity
    android:name=".presentationLayer.screens.chatScreen.view.ChatScreenActivity"
    android:screenOrientation="portrait"
    android:theme="@style/App.NoActionBar.Theme"
    android:windowSoftInputMode="adjustResize" />

答案 1 :(得分:0)

您可以尝试通过将以下代码放入活动的onCreate方法中来动态添加此属性:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

答案 2 :(得分:0)

将此添加到您的清单中

android:configChanges="keyboardHidden|orientation|screenSize"    
android:windowSoftInputMode="adjustResize|adjustPan"