Заголовок RTL уведомления выровнен слева направо - PullRequest
0 голосов
/ 16 марта 2020

Я заметил, что когда я показываю уведомление с заголовком RTL или любым текстом RTL, оно выравнивается по левому краю, а не по правой стороне.

Проблема возникает только тогда, когда:

  • язык устройства установлен на язык LTR (например, Engli sh), а текст в уведомлении должен быть RTL
  • на Android 7.1.1 Текст RTL выровнен вправо, но на Android 10 текст RTL выровнено по левому краю

Существует ли решение для отображения текста с правильным выравниванием независимо от языка устройства?

Как это выглядит прямо сейчас:

RTL notification

Код:

val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    notificationManager.createNotificationChannel(
       NotificationChannel(CHANNEL_ID, "Test", NotificationManager.IMPORTANCE_HIGH)
    )
}
val builder = NotificationCompat.Builder(this, CHANNEL_ID).apply {
    setSmallIcon(R.drawable.ic_launcher_foreground)
    setContentTitle("تجربة")
}
notificationManager.notify(NOTIFICATION_ID, builder.build())

1 Ответ

0 голосов
/ 16 марта 2020

Решение было удалить android:supportsRtl="true" из AndroidManifest.xml. Он был добавлен по умолчанию при создании проекта.

Решение не стоит, потому что зеркальные макеты RTL в приложении будут LTR после этого изменения.

...