material-components / material-components/material-components-android
[MaterialAlertDialog] Title panel layout's direction match with RTL title text
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 17.4k
- Forks
- 3.2k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
When the Title text is a RTL-language text the Icon remain in Left side of Title panel while I expect title layout follow the direction of title text. i.e. if text is RTL then Title panel layout direction become RTL as well. i.e. Icon in Right of the Title Text
Describe the solution you'd like
I suggest add an extra attribute "auto" (or "content") for layoutDirection. i.e.
<attr name="layoutDirection">
<!-- Left-to-Right. -->
<enum name="ltr" value="0" />
<!-- Right-to-Left. -->
<enum name="rtl" value="1" />
<!-- Inherit from parent. -->
<enum name="inherit" value="2" />
<!-- Locale. -->
<enum name="locale" value="3" />
<!-- follow text direction. ****************** NEW ***************** -->
<enum name="auto" value="4" />
</attr>
and check if the first char of Title text is RTL or LTR and set the panel direction accordingly:
int direction = getLayoutDirectionFromFirstChar();
String title = getTitle();
private int getLayoutDirectionFromFirstChar() {
switch (Character.getDirectionality(title.charAt(0))) {
case Character.DIRECTIONALITY_RIGHT_TO_LEFT:
case Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC:
return ViewCompat.LAYOUT_DIRECTION_RTL;
case Character.DIRECTIONALITY_LEFT_TO_RIGHT:
default:
return ViewCompat.LAYOUT_DIRECTION_LTR;
}
}
if(attr value ==4) {
getTitlePanel().setLayoutDirection(direction)
}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die title-panel-Implementierung von MaterialAlertDialog und ihre aktuelle Behandlung von layoutDirection zu finden. Überprüfe das vorhandene Android-RTL-Verhalten und die Dialogtests, bevor du entscheidest, wie das vorgeschlagene Attribut in die öffentliche API passt. Erledigt ist die Aufgabe, wenn RTL-Titeltext das Symbol rechts platziert, während LTR-Titeltext die erwartete Platzierung links beibehält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, java
- Bereich
- mobile-dev
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100