J'ai une application que je construis et dedans, j'ai un AppBar. Mon texte est en arabe et je souhaite modifier l'emplacement du texte de LTR (de gauche à droite) à RTL (de droite à gauche)

Voici une capture d'écran du AppBar

enter image description here

Et voici le code de mon AppBar

class MyAppBar extends StatelessWidget with PreferredSizeWidget {

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

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

La question est donc: - Comment puis-je faire en sorte que le texte عنوان التطبيق soit à la place du rouge que j'ai marqué (voir capture d'écran ci-dessus)

0
Hussein Al-Mosawi 3 sept. 2020 à 15:57

2 réponses

Meilleure réponse

Utilisez la propriété textDirection du widget Texte.

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
    ); 
  }
}


1
Programmer_3 3 sept. 2020 à 13:16

Si vous souhaitez que le texte soit orienté de droite à gauche dans l'ensemble de votre application et pas seulement dans la barre d'applications, vous pouvez fournir un Directionality à MaterialApp

MaterialApp(
 builder: (context, child) {
    return Directionality(
      textDirection: TextDirection.rtl,
      child: child,
    );
  },
);
2
Anurag Tripathi 3 sept. 2020 à 13:25