Android'softInputMethod:adjustResize'不起作用

每当我在我的活动中打开soft keyboard时,它隐藏了一些控制 元素,如退出聊天按钮和recyclerview。 我已经尝试了很多东西,但它似乎没有工作。Android'softInputMethod:adjustResize'不起作用

这是我的活动布局XML文件:

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:weightSum="4"

tools:ignore="UselessParent">

<Button

android:id="@+id/exitChat"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="0.01"

android:background="@color/colorPrimaryAnonymose"

android:fontFamily="monospace"

android:text="leave chat"

tools:ignore="HardcodedText" />

<RadioButton

android:id="@+id/statusBtn"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:clickable="false"

android:checked="true"

android:backgroundTint="@color/colorPrimary"

android:layout_weight="0.01"

android:text="user "

tools:ignore="HardcodedText" />

<android.support.v7.widget.RecyclerView

android:id="@+id/reyclerview_message_list"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="3.98"

android:background="?attr/colorPrimary"

app:layout_constraintLeft_toLeftOf="parent"

android:isScrollContainer="false"

app:layout_constraintTop_toTopOf="parent"></android.support.v7.widget.RecyclerView>

<LinearLayout

android:id="@+id/layout_chatbox"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="0.01"

android:background="#ffffff"

android:minHeight="48dp"

android:orientation="horizontal"

android:weightSum="3">

<EditText

android:id="@+id/chatbox"

android:layout_width="0dp"

android:layout_height="fill_parent"

android:layout_weight="2"

android:background="@android:color/transparent"

android:hint="write something.."

tools:ignore="HardcodedText,NestedWeights" />

<Button

android:id="@+id/btn_send"

android:layout_width="0dp"

android:layout_height="fill_parent"

android:layout_weight="1"

android:background="@color/common_google_signin_btn_text_light_disabled"

android:clickable="true"

android:text="SEND"

android:textSize="14dp"

tools:ignore="HardcodedText,SpUsage" />

</LinearLayout>

</LinearLayout>

</RelativeLayout>

在我Menifest文件:

  <activity 

android:name=".ChatRoomActivity"

android:windowSoftInputMode="adjustResize" />

在我的活动

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

感谢您的帮助。

回答:

adjust_resize会导致您的rootview变小。在这种情况下,由于android:layout_weight="0.01",包含退出聊天按钮的LinearLayout变得非常小。
为了防止出现这种情况,您可能需要执行以下操作:
- 您的根布局应更改为android:layout_height="wrap_content"并将您的根布局放入ScrollLayout。
- 尽量避免android:layout_weight。如果可能,将所有项目放在RelativeLayout中。 RecyclerView可能是layout_above聊天出口持有者,layout_below发送按钮。

以上是 Android'softInputMethod:adjustResize'不起作用 的全部内容, 来源链接: utcz.com/qa/262043.html

回到顶部