gpt4 book ai didi

android - adjustResize 向上推 EditText 但不向上推 RecyclerView

转载 作者:行者123 更新时间:2023-11-29 00:06:06 26 4
gpt4 key购买 nike

我正在使用 android:windowSoftInputMode="stateHidden|adjustResize" 在键盘出现时将 EditText 和 RecyclerView 向上推,但它仅适用于 EditText。 RecyclerView 保持在同一位置(因此某些元素不可见)。我做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="co.bla.bla.ChatActivity"
android:id="@+id/chat_root">

<include android:id="@+id/toolbar" layout="@layout/toolbar"/>

<android.support.v7.widget.RecyclerView
android:id="@+id/chat_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/message_input_wrapper"
android:scrollbars="vertical"
android:paddingBottom="20dp"
android:layout_below="@id/toolbar"
/>

<LinearLayout
android:id="@+id/message_input_wrapper"
android:layout_width="match_parent"
android:layout_height="60dp"
android:padding="6dp"
android:orientation="horizontal"
android:weightSum="4"
android:background="@android:color/white"
android:layout_alignParentBottom="true">

<EditText
android:id="@+id/message_input"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/chat_input_hint"
android:layout_gravity="center_vertical"
android:layout_weight="3"
android:background="@android:color/transparent"/>

<Button
android:id="@+id/message_send_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/chat_button_text"
android:layout_weight="1"
android:onClick="onButtonClicked"/>

</LinearLayout>
</RelativeLayout>

我不知道 adjustResize 是如何工作的,但我假设在这种情况下使用 android:layout_above 时,RecyclerViewLinearLayout“粘”在一起,应该一起推上去?

最佳答案

在您的 Activity list 中:

android:windowSoftInputMode="adjustResize"

然后向你的 recyclerView 添加一个 OnLayoutChangeListener:

recyclerView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right,int bottom, int oldLeft, int oldTop,int oldRight, int oldBottom)
{
recyclerView.scrollToPosition(recyclerView.getAdapter().getItemCount()-1);
}
});

这对我有用:)

关于android - adjustResize 向上推 EditText 但不向上推 RecyclerView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33723572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com