2017-04-06 4 views
-3

Gibt es eine Möglichkeit, die android benutzerdefinierte Listenansicht wie im Bild unten zu tun? Der benutzerdefinierte Adapter sollte wie folgt eine andere Listenansicht haben. enter image description hereGibt es eine Möglichkeit, diese benutzerdefinierte Liste zu erstellen?

Vielen Dank im Voraus.

+0

, dass entweder ein anderes Widget ist oder es simuliert eine Tabelle von benutzerdefinierten Zellen verwenden, die mehrere haben " Spalten und wahrscheinlich Zeilen. –

+0

Sie können TableLayout anstelle von benutzerdefinierten Listenansichten verwenden. –

Antwort

0

activity_main.xml

<LinearLayout 
    android:id = "@+id/relativeLayout1" 
    android:layout_width = "fill_parent" 
    android:layout_height = "wrap_content" > 

    <TextView 
     android:layout_width = "0dp" 
     android:layout_height = "wrap_content" 
     android:layout_weight = "2" 
     android:gravity = "center" 
     android:padding = "5dp" 
     android:text = "Firt column title" 
     android:textColor = "#ffffff"/ > 

    <TextView 
     android:layout_width = "0dp" 
     android:layout_height = "wrap_content" 
     android:layout_weight = "1.5" 
     android:gravity = "center" 
     android:padding = "5dp" 
     android:text = "Second column title" 
     android:textColor = "#ffffff" /> 

    <TextView 
     android:layout_width = "0dp" 
     android:layout_height = "wrap_content" 
     android:layout_weight = "1" 
     android:gravity = "center" 
     android:padding = "5dp" 
     android:text = "third column title" 
     android:textColor = "#ffffff" /> 
</LinearLayout> 

<ListView 
    android:id = "@+id/listview" 
    android:layout_width = "match_parent" 
    android:layout_height = "wrap_content" 
    android:divider = "@null"/> 

cell_shape.xml

<layer-list xmlns:android = "http://schemas.android.com/apk/res/android"> 

<item 
    android:left = "-2dp" 
    android:top = "-2dp"> 
    <shape android:shape = "rectangle" > 
     <solid android:color = "@android:color/transparent" /> 

     <stroke 
      android:width = "1dp" 
      android:color = "@color/colorCell" /> 
    </shape> 
</item> 

listview_row.xml

<LinearLayout 
    android:id = "@+id/relativeLayout1" 
    android:layout_width = "fill_parent" 
    android:layout_height = "wrap_content" 
    android:background = "@color/colorCell" > 

    <TextView  
     android:id = "@+id/sNo"  
     android:layout_width = "0dp" 
     android:layout_height = "match_parent" 
     android:layout_weight = "1" 
     android:background = "@drawable/cell_shape" 
     android:ellipsize = "end" 
     android:padding = "5dp" 
     android:text = "categorie" 
     android:singleLine = "true" /> 

<ListView 
    android:id = "@+id/listview_first section list" 
    android:layout_width = "match_parent" 
    android:layout_height = "wrap_content" 
    android:divider = "@null"/> 
<ListView 
    android:id = "@+id/listview_number_section_list" 
    android:layout_width = "match_parent" 
    android:layout_height = "wrap_content" 
    android:divider = "@null"/> 


</LinearLayout> 
+0

Mein Objekt ist jede Kategorie mit Liste. Warum brauche ich dann die zwei Listenansicht und Textansicht? Könnten Sie bitte die Antwort bearbeiten – CarinaMj

+0

Blick auf dieses Beispiel hoffe, dass Ihnen helfen wird –

0

Wie ich sehen kann, die Zeilen der obigen Abbildung ist nicht gleich groß. Es ist möglich, es selbst zu erstellen, wenn Sie planen, das Listenelement dynamisch aufzubauen, aber vielleicht wäre es eine relativ große Aufgabe ("das Rad neu erfinden", wenn Sie wissen, was ich meine). Hier können Sie eine SO Thema finden, was man beachten sollte, wenn man zwischen ListView oder TableLayout wählen, die eine andere Lösung sein kann:

ListView or TableLayout?

In meiner bescheidenen Meinung: weil das, was wir auf dem Bild sehen können ist eine Tabelle und nicht eine Liste, sollte es mit TableLayout gemacht werden.

Wenn es Ihrer Meinung nach auch hier ist die offizielle Tutorial Leitfaden für Tablelayout ...;)

https://developer.android.com/guide/topics/ui/layout/grid.html

Verwandte Themen