问题描述
我是右派,但一个亲密的朋友是左派。他总是抱怨应用是为惯用右手的人开发的,所以在开发我的应用时,我想给左撇子选择。
我的方法有效,但感觉冗长且不雅。这是我正在做的:
String userDominantHand = 'right';
Scaffold (
endDrawer: userDominantHand == 'left' ? Drawer(...) : null,drawer: userDominantHand == 'right' ? Drawer(...) : null,)
设置中的开关从“右”切换到“左”。我想不出更好的方法来实现这一点,因为 drawer
和 endDrawer
在 Scaffold()
中分开。
Flutter 文档说使用 TextDirection.rtl
和 TextDirection.ltr
,但我不知道把它放在哪里来移动抽屉。将其包装在 Directionality()
小部件中不起作用。
解决方法
如果这仅适用于一个页面并且它可以工作,那么我认为没有问题,现在如果您需要在许多屏幕和小部件中使用它,您可以创建一个具有两个值 bool right; bool left;
的类,之后初始化它你可以在任何地方访问,比如 UserDominantHand.left ? Drawer() : null
。