J'essaie de faire mon application RTL et je veux que le tiroir soit sur le côté droit. J'ai réussi à l'ouvrir à partir de la bonne direction, mais l'icône du menu Hamburger a disparu.
Ceci est code pour créer la mise en page Et ceci est mon tiroir: p> Qu'est-ce que je manque? p> p> p> rtl code>: p>
3 Réponses :
import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: Directionality(
child: MyPage(),
textDirection: TextDirection.rtl, // setting rtl
),
),
);
}
class MyPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
drawer: Drawer(), // your drawer
);
}
}
Ne transmettez aucun enfant code> à
tiroir code> et vérifier si cela fonctionne.
Toujours le même !
Si vous ne voulez pas changer votre code. Ensuite, vous pouvez faire comme suit,
leading: IconButton(icon: Icon(Icons.arrow_back), onPressed: (){ Navigator.of(context).pop(); }),
Enveloppez votre widget enfant à la maison avec directionnalité code> à l'aide de
textdirection.rtl code>
import 'package:flutter/material.dart';
class DrawerLayoutApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: "My Apps",
theme: new ThemeData(
fontFamily: "Vazir",
primaryColor: Color(0xff075e54),
accentColor: Color(0xff25d366),
primaryIconTheme: new IconThemeData(color: Colors.white)
),
home: new Directionality(textDirection: TextDirection.rtl, child: new DrawerLayoutAppBody())
);
}
}
class DrawerLayoutAppBody extends StatefulWidget {
@override
State<StatefulWidget> createState() => new DrawerLayoutAppBodyState();
}
class DrawerLayoutAppBodyState extends State<DrawerLayoutAppBody>{
TextStyle listTileTextStyle = new TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 18
);
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text("Ø¨Ø±ÙØ§Ù
Ù ÙØ§Û Ù
Ù")
),
drawer: new Drawer(
child: new ListView(
children: <Widget>[
new Container(
height: 120,
child: new DrawerHeader(
padding: EdgeInsets.zero,
child: new Container(
decoration: new BoxDecoration(
gradient: new LinearGradient(
colors: <Color>[
Theme.of(context).primaryColor,
const Color(0xff05433c),
],
begin: Alignment.topCenter,
end: Alignment.bottomCenter
)
),
)
)
),
new ListTile(
leading: new Icon(Icons.map, color: Colors.black),
title: new Text(
'Ú¯ÙÚ¯Ù Ù
Ù¾',
style: listTileTextStyle
),
onTap: (){
},
),
]
)
),
);
}
}
Pouvez-vous envoyer du code de l'échafaud où vous utilisez ce tiroir?