Sto cercando di fare in modo che la mia vista di Recycler non occupi tutto lo spazio dello schermo quando ci sono solo alcuni elementi su di esso wrap_content
, ma questo non sembra funzionare. Qual è il problema?
<?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>
risposte:
2 per risposta № 1uso Android: layout_weight = "1" in RecyclerView non 0.8 e layout lineare Android: layout_width = "wrap_content" non fill_parent
3 per risposta № 2
La cosa più importante è quella RecyclerView
non supporta wrap_content
per impostazione predefinita. Devi lottare un po 'e dargli un LayoutManager
che può forzare il tuo RecyclerView
per avvolgerne il contenuto.
Dare un'occhiata a Questo e Questo.
1 per risposta № 3
Hai fornito la larghezza LinearLayout per riempire il genitoree weightSum su 1. Quindi impostare layout_weight su 0,8. Pertanto, la dimensione della larghezza del layout totale è 1 e imposti layout_weight di recycleview su 0,8, quindi occupa l'80% della larghezza.
1 per risposta № 4
prova questo...
cambia altezza da wrap_content
a 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" />