如何根据用户输入的 rtl 或 ltr 方向动态本地化文本字段文本方向

Saj*_*ahi 8 localization textfield right-to-left farsi flutter

我需要一个根据用户输入改变方向的文本字段。

例如,我有一个获取用户输入的文本字段,但此输入有时可以是从左到右方向的英语文本,有时是从右到左方向的阿拉伯语文本。我希望文本字段方向根据输入语言方向而改变

我拥有的

  • 假设我有一个普通的文本字段
class MyDynamicTextField extends StatelessWidget {
  const MyDynamicTextField({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {

    return Scaffold(
      body: Center(
        child: Padding(
          padding: const EdgeInsets.symmetric(horizontal: 40),
          child: TextField(),
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我拥有的

我需要的

在使用不同语言和文本方向输入文本时,如何模仿 WhatsApp 聊天文本字段或 Chrome 文本字段文本方向行为?

例如:文本字段的文本方向更改取决于用户输入语言(在 Chrome 中)

期待

小智 4

有一个内置函数可以确定文本的方向。

import 'package:intl/intl.dart' as intl;

final isRTL = intl.Bidi.detectRtlDirectionality("some text")
Run Code Online (Sandbox Code Playgroud)