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.
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:
Schritt 2. Erstellen Sie RightJustifyAlertDialog.java
file. Hier sein Inhalt:
Schritt 3. Verwenden Sie RightJustifyAlertDialog
dialog:
Schritt 4. Überprüfen Sie die Ergebnisse:
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.
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%Tags und Links android alertdialog justify