我正在开发一个应用程序,应该支持RTL排版方向(阿拉伯语和希伯来语)。
如果布局方向为RTL,我还需要对布局进行一些更改。
如何确定应用程序当前的布局方向?
我正在开发一个应用程序,应该支持RTL排版方向(阿拉伯语和希伯来语)。
如果布局方向为RTL,我还需要对布局进行一些更改。
如何确定应用程序当前的布局方向?
Directionality.of
方法获取当前方向。final TextDirection currentDirection = Directionality.of(context);
final bool isRTL = currentDirection == TextDirection.rtl;
这决定了所选择的语言方向,但如果需要手动设置,则可能适用于您。
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(),
home: Directionality(
textDirection: TextDirection.rtl,
child: Home(),
),
);
}
bool isRTL() => Directionality.of(context).toString().contains(TextDirection.RTL.value.toLowerCase());
RichText(
textAlign: isRTL() ? TextAlign.right : TextAlign.left,
.....
),