我创建了一个聊天应用程序。在聊天室活动中,回收站视图项目正在文本视图下。我的意思是当数据项增加时,它将在文本视图下。
activty_chatroom.xml
<?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"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.boosterfoxindia.foxindtracker.ChatRoomActivity">
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:text="" -->
<!--android:id="@+id/tvChat"/>-->
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rvCM"
app:stackFromEnd="true"></android.support.v7.widget.RecyclerView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="7"
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:padding="0dp"
android:gravity="center"
>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/etMessage"
android:layout_weight="6"
android:background="@drawable/chattextbox"
android:padding="10dp"
android:hint="Enter message..."
android:elevation="2dp"
android:layout_gravity="center"
android:layout_marginTop="10dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/btnSend"
android:background="@drawable/circle"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="0dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/ic_send_white_24dp"
android:layout_gravity="center"
android:padding="10dp"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
我是Android应用程序的初学者,因此我不知道我哪里错了,请帮帮我
答案 0 :(得分:1)
执行以下操作,
1.将id
添加到包含编辑器的linear layout
2.更改layout height
的{{1}}以匹配父级
3.在recyclerview
recycler view
4。并从您的编辑器android:layout_above="@+id/editor_id"
weight sum
属性
P.S。在这些情况下,将您的父RelativeLayout更改为LinearLayout可能会在少数设备上产生疯狂的结果,因此请使用具有适当布局定位属性的RelativeLayout
答案 1 :(得分:1)
我认为您无需进行更多更改,您需要执行id
Linear Layout
这样的android:id="@+id/LLMain"
并使用Recycler View
进行更改此属性android:layout_above="@+id/LLMain"
。并且还height
match parent
到Recyclerview
。
喜欢这个XML。
<android.support.v7.widget.RecyclerView
android:id="@+id/rvCM"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/LLMain"
app:stackFromEnd="true" />
<LinearLayout
android:id="@+id/LLMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:gravity="center"
android:orientation="horizontal"
android:padding="0dp"
android:weightSum="7">
答案 2 :(得分:0)
首先,您必须将RelativeLayout
更改为LinearLayout
(垂直)。接下来,RecyclerView
投放新的linear_layout
并设置属性android:layout_weight="3"
。按照这个代码,它就像你想要的那样工作。
<!--<TextView-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:text="" -->
<!--android:id="@+id/tvChat"/>-->
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linearLayout4"
android:layout_weight="3"
android:splitMotionEvents="false">
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rvCM"
app:stackFromEnd="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:padding="0dp"
android:gravity="center"
android:layout_weight="1"
android:splitMotionEvents="false">
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/etMessage"
android:layout_weight="6"
android:background="@drawable/chattextbox"
android:padding="10dp"
android:hint="Enter message..."
android:elevation="2dp"
android:layout_gravity="center"
android:layout_marginTop="10dp" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/btnSend"
android:background="@drawable/circle"
android:orientation="vertical"
android:gravity="center"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="0dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/ic_send_white_24dp"
android:layout_gravity="center"
android:padding="10dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>