Ich habe eine RecyclerView
innerhalb einer HorizontalScrollView
und ich möchte es eine GridLayoutManager
verwenden. Das ist ok, aber eine Sache stört mich immer noch, die Breite jeder Spalte ist die gleiche (basierend auf der größten Zellenbreite, nehme ich an?). Ist es nicht möglich, die Breite von Spalten so zu ändern, dass sie der größten Zelle dieser spezifischen Spalte entspricht?GridLayoutManager - Spaltenbreite wrap sein eigenes größtes Kind
Es soll wie folgt aussehen:
Wo der orange Teil der Teil durch die Ansicht der Zelle aufgenommen ist.
EDIT
Wir fragten mich zu klären, was ich erwarte. Ein Beispiel ist besser als Worte, hier können Sie einen Screenshot eines RecyclerView mit GridLayoutManager sehen. Jedes Element ist ein einfaches TextView, das zufällig einen Text zwischen 10 & 40 Zeichen enthält. Der RecyclerView befindet sich in einem HorizontalScrollView, wie bereits erwähnt. Wir können sehen, dass jede Spalte die gleiche Breite hat, obwohl keine Elemente in dieser Spalte die gesamte Breite erfüllen können. Was ich möchte, ist diese nutzlosen leeren Raum entfernen und Spalten mit verschiedenen Größen mit jeder Spalte die Breite des eigenen größten Kind entsprechen.
Wenn Sie dieses Verhalten testen möchten, können Sie diese Repo klonen kann ich auf Github hochgeladen: hier
Wie gefragt https://github.com/ShargotthDev/TestGrid ist mein XML-Layout (sehr einfach):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<HorizontalScrollView
android:id="@+id/gameplay_hotizontalScroll_ScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="70dp">
<android.support.v7.widget.RecyclerView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/recycler_view" />
</HorizontalScrollView>
</RelativeLayout>
EDIT 2
Ich hätte erwähnen sollen, dass einige der Zellen eine Spangröße> 1 haben und der LayoutManager sollte vertikal sein, so dass diese Zellen mehr Platz horizontal und nicht vertikal nehmen (weiß nicht, ob ich mich verständlich mache).
Vielen Dank für Ihre Zeit!
Immer noch nicht verstehen, was genau Sie wollen ?? –
können Sie Ihr XML-Layout veröffentlichen? Haben Sie 'columnSpan' und' columnWeight' verwendet? –
@artikyada Ich habe ein paar mehr Erklärungen und ein Repo, das du klonen kannst, um dieses Verhalten zu reproduzieren und vielleicht besser zu verstehen, was ich meine. – MHogge