2016-08-02 8 views
0

Ich habe ein Formular mit vielen Ansichten wie folgt aus:Material Design: Optisch Gruppierung Ansichten

Gruppe 1

  • 3 x EditText

Gruppe 2

  • 6 x EditText
  • Switch

Gruppe 3

  • Switch

Problem: ich den Benutzer denken überwältigt werden würde, wenn ich diese views nacheinander nur präsentieren. Zusätzlich wäre eine Gruppierung sinnvoll, da die Daten in einer Gruppe in gewisser Weise zusammengehören.

Eine Idee: Ich dachte über Tabs aber sie würden den Benutzer erfordern einen anderen Swipe/touch zu machen zu bekommen, wo sie wollen. Ein weiteres Problem ist, dass das Erstellen eines Tabs nur für einen Switch (Gruppe 3) nicht effektiv scheint.

Meine Frage: ich für eine Art und Weise bin auf der Suche, die mit den Material Design Richtlinien Gruppe views konsistent ist. Wie kann ich das machen?

+0

Was ist mit einer Listenansicht mit Trennwänden zwischen den Gruppen? –

+0

listview wäre nicht effizient, weil jede Gruppe ein anderes Layout hat –

Antwort

0

Die Antwort lautet: CardView

nutzen zu können, fügen Sie compile 'com.android.support:cardview-v7:24.2.0' zu Ihrer build.gradle Datei.

es wie folgt verwendet:

<android.support.v7.widget.CardView 
    xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/card_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    card_view:cardCornerRadius="2dp" 
    card_view:contentPadding="10dp" 
    card_view:cardUseCompatPadding="true"> 

     <!-- put views here that should be grouped --> 

</android.support.v7.widget.CardView> 
0

Sie können so etwas wie eine erweiterbare Ansicht verwenden: https://github.com/bignerdranch/expandable-recycler-view

oder Gruppe sie in Sicht Gruppen (wie Linearlayout/RelativeLayout usw. wie pro Ihre Bequemlichkeit) und mit Sichtbarkeit dieser viewGroups spielen je nachdem, welche Daten Benutzer eingegeben hat (In der Regel durch Fokus ändern Hörer auf Text bearbeiten und Status ändern Hörer auf Schalter). Sie können die folgende Material Design Animation verwenden, um Ansicht Sichtbarkeit zu ändern: https://developer.android.com/training/animation/layout.html

+0

Ich möchte nichts zu verbergen, wenn möglich. –

+0

Dann können Sie weiter mit View-Pager, dh Tabbed-Ansichten, und wenn der Benutzer alle Details in der ersten Registerkarte ausgefüllt hat, können Sie die Registerkarte manuell mit Java-Code ändern. –