Ändert programmatisch RelativeLayout toRightOf zu toLeftOf

8

Ich mache eine Chat-App. Ich möchte neben der Chat-Blase auch einen Zeitstempel setzen. Die Nachrichten werden links (für empfangen) und rechts (für gesendet) ausgerichtet.

Ich suche nach einer Möglichkeit, toLeftOf in toRightOf zu ändern. Für jetzt sieht es so aus:

Hier ist mein XML-Code für jede Nachricht (Ich habe ArrayAdapter , die das handhaben)

%Vor%

Ich google herum und habe das gefunden, funktioniert aber nicht:

%Vor%

Irgendeine Lösung? Danke

    
hrsetyono 21.11.2012, 07:05
quelle

3 Antworten

2

Rewrite
Entfernen Sie das Attribut layout_toRightOf von der aktuellen TextView und erstellen Sie dann zwei verschiedene LayoutParams: eins für toRightOf und eins für toLeftOf . Sie können die Parameter abhängig von Ihren Bedürfnissen ändern.

Alternativ können Sie einen benutzerdefinierten Adapter mit zwei Layouts verwenden. Dieser Ansatz sollte schneller sein, da Sie das Layout nicht zur Laufzeit neu anordnen, sondern zwei getrennte Listen von "Reply" - und "Send" -Layouts im Ansichtsrecycler führen.

(Als Hinweis wurde in API 17 removeRule() aber das wird noch nicht helfen.

    
Sam 21.11.2012, 07:13
quelle
10

Versuchen Sie, die Eigenschaft toRightOf und toLeftOf aus einer beliebigen Ansicht zu entfernen. Ich entferne diese Eigenschaften aus textview.

%Vor%     
Deepak Sharma 26.03.2013 06:41
quelle
0

Bitte unter dem Code verwenden.

%Vor%     
Nikhil 21.11.2012 07:14
quelle

Tags und Links