我正在尝试让我的Recycler视图在wrap_content
上只有几个项目时不占用所有屏幕空间,但这似乎不起作用。有什么问题?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:weightSum="1">
<android.support.v7.widget.RecyclerView
android:id="@+id/smoke_recycler_view"
android:scrollbars="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:paddingTop="4dp"
android:paddingRight="4dp"
android:paddingLeft="4dp"
android:layout_marginTop="25dp"
android:layout_marginBottom="25dp"
android:background="#FFF"
android:elevation="2dp" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:3)
在RecyclerView中使用 android:layout_weight =“1”而不是0.8和线性布局 android:layout_width =“wrap_content”不是fill_parent
答案 1 :(得分:3)
最重要的是RecyclerView
默认情况下不支持wrap_content
。你必须挣扎一下并为它提供一个LayoutManager
,它可以强迫你的RecyclerView
包装它的内容。
答案 2 :(得分:1)
您提供了LinearLayout宽度以填充parent和weightSum为1.然后将layout_weight设置为0.8。因此,您的总布局宽度大小为1,并且您将recycleview的layout_weight设置为0.8,因此它占用宽度的80%。
答案 3 :(得分:1)
试试这个......
将身高从wrap_content
更改为match_parent
<android.support.v7.widget.RecyclerView
android:id="@+id/smoke_recycler_view"
android:scrollbars="vertical"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:paddingTop="4dp"
android:paddingRight="4dp"
android:paddingLeft="4dp"
android:background="#FFF"
android:elevation="2dp" />