Flutter RTL AppBar 图标位置
Posted
技术标签:
【中文标题】Flutter RTL AppBar 图标位置【英文标题】:Flutter RTL AppBar Icon postion 【发布时间】:2019-08-08 03:52:06 【问题描述】:我要求的是在 appBar 中添加一个图标在颤振中......我已经激活了本地化属性,所以我的应用程序现在是 RTL
localizationsDelegates: [
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
supportedLocales: [
Locale("ar", "AR"), // OR Locale('ar', 'AE') OR Other RTL locales
],
locale: Locale("ar", "AR"), // OR Locale('ar', 'AE') OR Other RTL locales
...问题是右侧的抽屉菜单图标是正确的...但是当我在 appBar 的前导属性中添加图标时,它不会转到左侧...但它取代了抽屉图标! !!
// 应用栏
appBar: new AppBar(
leading: Icon(Icons.person,),
title: new Text("الرئيسية",
style: new TextStyle(fontFamily: 'RPT Bold',
fontSize: 16.0,
color: Colors.amber
),
),
centerTitle: true,
iconTheme: new IconThemeData(color: Colors.amber),
),
最好的问候
【问题讨论】:
这可能值得an issue。 【参考方案1】:将automaticallyImplyLeading
设置为假:
appBar: new AppBar(
automaticallyImplyLeading: false,
leading: Icon(Icons.person,),
title: new Text("الرئيسية",
style: new TextStyle(fontFamily: 'RPT Bold',
fontSize: 16.0,
color: Colors.amber
),
),
centerTitle: true,
iconTheme: new IconThemeData(color: Colors.amber),
),
【讨论】:
谢谢,但是.. 没有任何改变!! 尝试将您的图标放在操作属性中,也许这就是您要寻找的东西 是的......这是工作......当我将它添加到动作中时,它会正确显示【参考方案2】:您可以使用Directionality
包裹您的脚手架并将文本方向设置为RTL
。
这种方式不需要本地化属性。
Widget build(BuildContext context)
return Directionality(
textDirection: TextDirection.rtl,
child: Scaffold(
appBar: AppBar(
centerTitle: true,
title: Text('title'),
),
body: Container(child: Text('text',
),
),
),
);
【讨论】:
以上是关于Flutter RTL AppBar 图标位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AppBar 中包装子小部件以获得更大的子高度和 Flutter 中的填充