Wie man ein Raster-Layout von CardViews mit variabler Höhe macht?

Ich habe mehrere CardView in XML definiert als:

 <android.support.v7.widget.CardView android:layout_width="wrap_content" android:layout_height="wrap_content" card_view:cardPreventCornerOverlap="false" card_view:cardCornerRadius="4dp"> <LinearLayout android:layout_width="wrap_content" android:orientation="vertical" android:layout_height="wrap_content"> <TextView android:textSize="@dimen/abc_text_size_title_material" android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </android.support.v7.widget.CardView> 

Für Telefone habe ich die mehrfachen CardView 's in einem vertikalen LinearLayout :

  • Gradle und Multi-Projekt-Struktur
  • Überprüfen Sie ständig die Lautstärkeänderung in Android-Diensten
  • './gradlew -Dtest.single = SimpleTest Test' läuft alle Tests, die ich habe
  • Android-Adb-Geräte nicht autorisiert
  • Wie kann ich die SQLite-Datenbank auf einem Android-Gerät anzeigen?
  • Android drawBitmap 5x Leistungsunterschied
  •  <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > 

    Für Tabletten möchte ich stattdessen ein Raster-Layout verwenden, ähnlich dem Design, das in den Material Design-Spezifikationen verwendet wird , siehe Bild hier .

    Was ist die beste ViewGroup , um das Raster-Layout zu ViewGroup ? Die Karten sind von variabler Höhe und haben statischen Inhalt.

    GridLayout kann nicht verwendet werden, da die Karten von variabler Höhe sind.

  • Was genau ist "id == EditorInfo.IME_NULL"?
  • Bekomme Kontext in Nicht-Aktivitätsklasse
  • Fotografiere auf Android von Delphi Firemonkey XE5 App
  • Starten von Standard-Android-Launcher programmgesteuert
  • Wie programmgesteuert abmelden von Facebook SDK 3.0 ohne Verwendung von Facebook Login / Logout-Taste?
  • Wie man http eine Anforderung in Android zu machen
  • 2 Solutions collect form web for “Wie man ein Raster-Layout von CardViews mit variabler Höhe macht?”

    Ich hatte das gleiche Problem vor einiger Zeit. Ja, du kannst kein GridLayout da deine Karten variabel sind. Also, was Sie suchen StaggeredGridView, die es ermöglicht, seine Elemente haben variable Größen.

    Sie können eine der folgenden : –

    1) Sie können diese oder diese Bibliothek verwenden. Sie sind sehr einfach zu bedienen. Ich habe beide benutzt und ich kann Ihnen versichern, dass sie ihre Arbeit perfekt machen.

    2) Sie können den RecyclerView.StaggeredGridLayoutManager von Google ausprobieren.

    Ein Beispielcode würde so etwas aussehen,

     RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); recyclerView.setAdapter(adapter); 

    Hoffe es hilft dir

    Für Tabletten können Sie 2 LinearLayouts verwenden.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.