我正在学习安卓编程,正在研究一个简单的"帖子","评论","喜欢"应用类型。从来没有一百万年我会认为构建Android应用程序最困难的部分是试图让布局工作。我拥有来自firebase数据库的所有信息,这很简单,但是试图让布局看起来正确几乎是不可能的。我甚至尝试从他们的快速入门应用程序中复制/粘贴firebase,这是一个完成数据库工作的应用程序。不过,它不会填补该地区。顶部看起来很棒,但我有一个RecyclerView应该重复该帖子的评论,它正在重复它们,但它只是页面高度的一小部分,正如你在屏幕截图中看到的那样。我尝试过使用ScrollView,NestedScrollView,将RecyclerView放在RelativeLayout,LinearLayout中,什么都没有用。这是视图的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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.google.firebase.quickstart.auth.PostDetailActivity">
<include
android:id="@+id/post_author_layout"
layout="@layout/include_post_author"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" />
<include
android:id="@+id/post_text_layout"
layout="@layout/include_post_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/post_author_layout"
android:layout_marginLeft="5dp"
android:layout_marginTop="10dp" />
<LinearLayout
android:id="@+id/comment_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_below="@+id/post_text_layout"
android:layout_marginTop="20dp"
android:weightSum="1.0">
<EditText
android:id="@+id/field_comment_text"
android:layout_width="0dp"
android:layout_weight="0.8"
android:layout_height="wrap_content"
android:maxLines="1"
android:hint="Write a comment..."/>
<Button
android:id="@+id/button_post_comment"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_weight="0.2"
android:layout_height="wrap_content"
android:text="Post"/>
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_comments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/comment_form"
tools:listitem="@layout/item_comment" />
</RelativeLayout>
查看屏幕截图,评论部分是如此之小,我在滚动中间截取屏幕截图,这样你就可以看到顶部位于正确的位置,但底部只有几个像素高,它不是&#39 ; t一直到屏幕的底部。任何帮助是极大的赞赏。谢谢。
如果我将RecyclerView高度设置为match_parent,我仍然只会收到一条评论,因为每条评论现在都是父级的高度。
答案 0 :(得分:3)
由于RecyclerView是一个动态布局,您希望始终填充父布局,而不是尝试包装其内容。
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_comments"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/comment_form"
tools:listitem="@layout/item_comment" />