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