2014-09-12 4 views
9

Ich musste ein Layout implementieren, das dem Tabstopp von Google Chrome ähnelt (siehe unten).Android Layout: Wie man ein UI ähnlich dem Kartenspiel implementiert?

Gibt es Bibliotheken dafür?

enter image description here

+2

Werfen Sie einen Blick hier (http://grepcode.com/file/repository.grepcode.com/ java/ext/com.google.android/android-apps/5.L_preview/com/beispiel/android/home/ApplicationsStackLayout.java # ApplicationsStackLayout) Dies ist die Ansicht, die in Android Home Aktivität – hoomi

+0

@hoomi ApplicationsStackLay verwendet wird out ist nur eine Viewgroup, die ihre Kindansichten einzeln horizontal oder vertikal platziert ... Ich brauche eine Viewgroup, die die Kindansichten wie ein Kartenspiel plus Scrolling-Effekte wie im Chrome android Browser stapelt ... Danke für den Link zu Android L Home-Bildschirm .... Aber irgendeine Idee, wie sie die Chrome Tabs wie Interaktionen in diesem erreichen? – user3665376

+0

Haben Sie eine Lösung für Ihr Problem gefunden? Weil ich versuche, das gleiche zu implementieren und ich finde kein Beispiel ... :-( – michoprogrammer

Antwort

1

benötigen Sie einen Satz individuellen Drawables für jeden Aspekt der Karte erstellen und diese im Layout verwenden. Zu diesem Zweck können Sie das Tabellenlayout verwenden.

Zum Beispiel einen Hintergrund mit Ecken setzen Sie eine ziehbar erstellen können wie folgt:

neue drwabe Ressource hinzufügen wie folgt:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 
    <corners android:radius="5dp"/> 
    <stroke android:width="1dp" android:color="choose the color which you want"/> 
    <padding android:top="10dp" android:left="10dp" android:bottom="10dp" 
     android:right="10dp"/> 
</shape> 

einen Stil benutzerdefinierten erstellen und die oben ziehbar als Hintergrund verwenden:

<style name="ContactTextView"> 
     <item name="android:background">@drawable/drawableName</item> 
     // add other items 
</style> 

Wenden Sie den Stil für jedes Element in Ihrem Layout

+0

Danke..Btw es geht nicht nur um Einstellung der UI-Eigenschaften der Ansichten. Chrome hat eine sehr elegante Benutzergesten für die Interaktion mit die Tabs ... zB: Der User kann die gesamte Ansicht mit verschiedenen Verschiebungen für jeden Gegenstand nach unten wischen, dh die gesamte Liste verhält sich wie ein physikalisches Kartenspiel und ich denke, da liegt die Hauptaufgabe der Implementierung – user3665376

1

Verwenden Sie einen RecyclerView mit Ihrem eigenen LayoutManager. Der Layoutmanager kann es dann so stapeln. Um Verhalten zu implementieren (wie das Erweitern eines Elements beim Klicken), benötigen Sie mehr Code. Ich konnte kein Open-Source-Projekt finden, das dies hat.

Werfen Sie einen Blick hier, um Hilfe:

http://wiresareobsolete.com/2014/09/building-a-recyclerview-layoutmanager-part-1/

http://wiresareobsolete.com/2014/09/recyclerview-layoutmanager-2/

http://wiresareobsolete.com/2015/02/recyclerview-layoutmanager-3/

Verwandte Themen