Starten Sie die GridView-Elemente von rechts

8

Ich mache eine App, wo ich möchte, dass die Gitteransicht von rechts nach links gefüllt wird, um sie für Sprachen von rechts nach links zu verwenden. Ich habe versucht, gridView gravity auf rechts zu setzen, aber es hat nicht funktioniert. .. mein Gridview Layout ist unten.

Vielen Dank im Voraus

%Vor%     
Sara 10.07.2012, 15:18
quelle

6 Antworten

5

Ich denke, Sie sollten den Code aus GridView-Quelle und ändern Sie die zu verwendende Bemaßung / Layout von rechts nach links.

UPDATE: Die Layout-Richtung für Ansichten wurde nur in API Level 17 (4.2) eingeführt. Wenn Sie GridView.java in 4.2 und 4.1 , sehen Sie, dass zum Beispiel in der Methode makeRow() die layoutDirection ist seit 4.2 berücksichtigt, so sollte das funktionieren!

Haben Sie versucht, Ihren Code mit android:layoutDirection="rtl" auf API Level 17 auszuführen?

    
Jelle 28.08.2013 13:07
quelle
4

Ich glaube nicht, dass GridView so konzipiert wurde, dass Sprachen gemeint sind. Es ist eher eine visuelle Komponente zum Anordnen von Miniaturbildern.

Sie können dieses Problem lösen, indem Sie Ihren Adapter ändern und die Reihenfolge jedes Elements pro Zeile ändern. Allerdings müssen Sie Ihrem Adapter die Anzahl der Elemente pro Zeile mitteilen, damit diese Arbeit ausgeführt werden kann.

Wenn die letzte Zeile weniger Elemente als möglich enthält, müssen Sie leere Dummy-Elemente zum Füllen der linken Seite einfügen.

    
tiguchi 10.07.2012 15:22
quelle
3

Du könntest das versuchen. Haben Sie Ihr GridView in Ihrer Layoutdatei das folgende Attribut

%Vor%

Erstellen Sie einen Ordner " anim ", in dem Sie die layout_grid_right_to_left.xml mit cotents hinzufügen

%Vor%

Fügen Sie auch fade.xml im selben anim Ordner mit Inhalt hinzu

%Vor%

Dies sind nur zu Ihrer Information. Bitte zögern Sie nicht hinzufügen / entfernen Attribute, die Ihren Bedürfnissen / Anforderungen entsprechen.

    
VikramV 29.08.2013 09:08
quelle
2

Sie können versuchen

%Vor%

Es ist normalerweise für Text und ich weiß nicht, was der Effekt auf einer GridView ist. ( ref )

Eine andere Sache zu versuchen ist

%Vor%

Aber es wird nicht funktionieren, wenn Sie die Elemente von oben nach unten und von rechts nach links bestellen müssen ( ref )

    
ben75 22.08.2013 13:23
quelle
2

Sie können dies für Ihre Gridview und alle ihre Elemente in XML ausprobieren:

%Vor%

Sie können auch android:layoutDirection="rtl" verwenden. Es kann Ihr Problem lösen.

    
Milad Faridnia 15.09.2014 07:06
quelle
1

Es gibt einen dummen Weg, dies zu tun, aber es funktioniert perfekt.

machen Sie android:ScaleX=-1 in der Gridview und in Ihrem Objektcontainer (Ihre benutzerdefinierte Ansicht für Rasterzellen), damit Ihr Layout von rechts nach links beginnt!

hoffe diese Hilfe

    
Amir Hossein Ghasemi 27.04.2015 11:08
quelle

Tags und Links