Измените направление текста в AppBar с LTR на RTL.

У меня есть приложение, которое я создаю, и в нем есть файл AppBar. Мой текст на арабском языке, и я хочу изменить расположение текста с LTR (слева направо) на RTL (справа налево)

Вот скриншот AppBar

введите здесь описание изображения

А это код для моего AppBar

class MyAppBar extends StatelessWidget with PreferredSizeWidget {

  @override
  Size get preferredSize => Size.fromHeight(kToolBarHeight);

  @override
  Widget build(BuildContext context) {
    return AppBar(
      title: Text(
        kAppBarTitleFirst,
      ),
    );
  }
}

Итак, вопрос: - Как я могу сделать так, чтобы текст عنوان التطبيق был на месте красного цвета, который я отметил (см. Скриншот выше)


person Hussein Al-Mosawi    schedule 03.09.2020    source источник
comment
Любой, кто хочет найти лучшее решение для этого, должен увидеть закрепленный ответ и этот ответ stackoverflow.com/a/51639681/12831576 чтобы получить полный ответ   -  person Hussein Al-Mosawi    schedule 03.09.2020
comment
Я также нашел это stackoverflow.com/questions/ 50535185/, может быть полезно   -  person Anurag Tripathi    schedule 03.09.2020


Ответы (2)


Используйте свойство textDirection виджета Text.

class MyAppBar extends StatelessWidget with PreferredSizeWidget {

  @override
  Size get preferredSize => Size.fromHeight(kToolBarHeight);

  @override
  Widget build(BuildContext context) {
    return AppBar(
      title: Text(
        kAppBarTitleFirst,
        textDirection:TextDirection.rtl  // ← add this line
      ),
    ); 
  }
}


person Programmer_3    schedule 03.09.2020
comment
Извините, но это не работает... Я не меняю TextDirection, я просто хочу изменить все вправо - person Hussein Al-Mosawi; 03.09.2020
comment
Но в своем вопросе вы упомянули, что хотите, чтобы عنوان التطبيق` было на месте красного - person Programmer_3; 03.09.2020
comment
После просмотра этого ответа stackoverflow.com/a/51639681/12831576 ваш ответ имеет смысл для меня - person Hussein Al-Mosawi; 03.09.2020

если вы хотите направление текста справа налево во всем приложении, а не только на панели приложений, вы можете указать от Directionality до MaterialApp

MaterialApp(
 builder: (context, child) {
    return Directionality(
      textDirection: TextDirection.rtl,
      child: child,
    );
  },
);
person Anurag Tripathi    schedule 03.09.2020