Rechtfertigt Text in AlertDialog

8

Ist es möglich, den Text in einem AlertDialog Titel und Nachricht zu rechtfertigen?

Ich zeige hebräische Nachrichten, aber sie werden linksbündig angezeigt.

    
theblitz 25.05.2011, 21:24
quelle

4 Antworten

11

So weit ich aus dem Code von AlertDialog und AlertController Sie können nicht auf die TextView s zugreifen, die für die Nachricht und den Titel verantwortlich sind.

Sie können die Reflektion verwenden, um das Feld mAlert in der AlertDialog-Instanz zu erreichen, und dann erneut die Reflektion verwenden, um auf die Felder mMessage und mTitle von mAlert zuzugreifen. Obwohl ich diesen Ansatz nicht empfehlen würde, da er sich auf Interna stützt (was sich in Zukunft ändern könnte).

Als eine andere (und wahrscheinlich viel bessere) Lösung können Sie ein benutzerdefiniertes Thema über AlertDialog constructor anwenden. Auf diese Weise können Sie alle TextView s in diesem Dialogfeld rechtsbündig ausrichten.

%Vor%

Dies sollte einfacher und robuster Ansatz sein.

Hier ist eine Schritt für Schritt Anleitung:

Schritt 1. Erstellen Sie res/values/styles.xml file. Hier sein Inhalt:

%Vor%

Schritt 2. Erstellen Sie RightJustifyAlertDialog.java file. Hier sein Inhalt:

%Vor%

Schritt 3. Verwenden Sie RightJustifyAlertDialog dialog:

%Vor%

Schritt 4. Überprüfen Sie die Ergebnisse:

    
inazaruk 25.05.2011, 21:32
quelle
15

Wenn Sie eine schnelle und einfache Möglichkeit möchten, dies zu tun, würde ich nur die Standard-Warnung mit AlertDialog.Builder erstellen und ändern. Sie können sogar eine Komfortmethode und -klasse wie folgt erstellen:

%Vor%

Natürlich können Sie die Schwerkraft auch auf CENTER für die Centerausrichtung anstatt auf die rechte oder die linke Standardposition ändern.

    
n8tr 26.09.2013 11:46
quelle
3

Nachdem ich eine Stunde lang damit zu kämpfen hatte (die obigen Lösungen funktionierten nicht für mich), gelang es mir, den Titel und die Nachricht des AlertDialogs nach rechts auszurichten, ohne irgendwelche Stile zu überschreiben, einfach die Schwerkraft- und Layout-Parameter zu ändern. p>

In DialogFragment:

%Vor%

Die eigentliche Funktion:

%Vor%     
Elad Nava 12.07.2014 09:37
quelle
0

Um die Ausrichtung des Alarmdialogs in RTL festzulegen, können Sie die OnShowListener-Methode verwenden. Nach dem Setzen von Titel, Nachricht, .... verwende diese Methode.

%Vor%     
Hamid 27.02.2018 16:58
quelle

Tags und Links