Android RecyclerView正在全屏显示一条消息
我正在为聊天屏幕设计一个布局,其中我使用RecyclerView显示用户发送和接收的消息,但我面临的问题是,RecyclerView在整个屏幕中只显示一条消息,而要查看其他消息,我必须向下或向上滚动。我想垂直显示相邻的消息。 以下是我的xml代码:-Android RecyclerView正在全屏显示一条消息,android,android-layout,android-recyclerview,Android,Android Layout,Android Recyclerview,我正在为聊天屏幕设计一个布局,其中我使用RecyclerView显示用户发送和接收的消息,但我面临的问题是,RecyclerView在整个屏幕中只显示一条消息,而要查看其他消息,我必须向下或向上滚动。我想垂直显示相邻的消息。 以下是我的xml代码:- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/chatparent"
android:background="@color/background">
<include layout="@layout/chattoolbar"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_messages"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:scrollbars="vertical"
android:scrollbarStyle="outsideOverlay"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="0.80"
android:background="@color/colorPrimary" />
<FrameLayout
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="0.20"
android:background="@color/black"/>
</LinearLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rl_typing"
android:background="@drawable/chatbox"
android:orientation="horizontal"
android:paddingLeft="5dp"
android:paddingRight="10dp"
android:layout_marginStart="15dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginEnd="2dp"
>
<Button
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/ic_emoticons"
android:layout_marginTop="8dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:gravity="bottom"
android:id="@+id/btn_emoji"
/>
<EditText
android:layout_width="190dp"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:minLines="1"
android:maxLines="20"
android:lines="8"
android:imeActionId="@+id/send"
android:imeActionLabel="actionSend"
android:imeOptions="actionSend"
android:scrollbars="vertical"
android:textColor="@color/monsoon"
android:textColorHint="@color/dark_gray"
android:id="@+id/et_message"
android:textSize="13sp"
android:hint=" Type Your Message Here..."
android:layout_toEndOf="@id/btn_emoji"
tools:ignore="HardcodedText" />
<Button
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/ic_attachment"
android:layout_marginTop="8dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:gravity="bottom"
android:id="@+id/btn_attach"
android:layout_toEndOf="@id/et_message"/>
<Button
android:layout_width="20dp"
android:layout_height="20dp"
android:background="@drawable/ic_camera"
android:layout_marginTop="8dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:id="@+id/btn_camera"
android:layout_toEndOf="@id/btn_attach"/>
</RelativeLayout>
<Button
android:layout_width="30dp"
android:layout_height="35dp"
android:id="@+id/btn_send"
android:layout_alignParentTop="true"
android:layout_marginTop="7.5dp"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_toEndOf="@id/rl_typing"
android:background="@drawable/ic_send" />
</RelativeLayout>
</LinearLayout>
在recyclerView的子视图中,将xml根设置为“包装内容”。如果您设置了一个与父项匹配的标志,它将占用所有空间,您需要滚动父项视图。在recyclerview\u item.xml中设置recyclerview项的主布局高度“wrap\u content”,您必须将“主”线性布局的高度和宽度匹配父项设置为包裹内容请将您的recyclerView项目xml也附加到此处请将项目高度从匹配父项更改为包裹内容显示适配器布局code@Raja我已使用recyclerView Item xmlinrecyclerView\u Item.xml
use更新了我的代码android:layout\u height=“wrap\u content”
forLinearLayout
thanx它工作了,实际上我的recyclerview item.xml文件的根高度是匹配的\u parent.thanx Pooja…我也找到了相同的答案。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:paddingLeft="10dp">
<TextView
android:id="@+id/username"
style="?android:textAppearanceMedium"
android:textColor="?android:textColorPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textStyle="bold"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/txtOther"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp"
android:textColor="@color/black"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@drawable/chat_in"/>
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/chat_out"
android:paddingBottom="5dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="5dp"
android:textColor="@color/white"
android:textSize="16dp" />
<TextView
android:id="@+id/lblDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12dp"
android:textColor="@color/colorprimarylight"
android:textStyle="italic"
android:padding="5dp"
/>
</LinearLayout>
</LinearLayout>