【问题标题】:How to enable Bold Text set by android Accessibility setting in Flutter?如何在 Flutter 中启用由 android 辅助功能设置设置的粗体文本?
【发布时间】:2022-11-02 10:31:42
【问题描述】:

在我的颤振应用程序中,我想增加字体粗细,同时在 android 辅助功能设置中启用粗体文本。我用过 MediaQueryData.fromWindow(WidgetsBinding.instance!.window).copyWith(boldText: true) 。但是字体文本没有改变。如何解决这个问题?系统字体为粗体时如何启用粗体文本?

当我使用 useInheritedMediaQuery: true 时,文本变为粗体。但是当我在 android 可访问性中禁用粗体文本时。然后文本也是粗体的。

我的要求是当启用“粗体文本”时,文本要加粗。如果它被禁用,那么文本想要非粗体。

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MediaQuery(
        data: MediaQueryData.fromWindow(WidgetsBinding.instance!.window).copyWith(boldText: true),
        child:MaterialApp(
          title: 'Flutter Demo',
          useInheritedMediaQuery: true,
          theme: ThemeData(
            primarySwatch: Colors.blue,
          ),
          home: const MyHomePage(title: 'Flutter Demo Home Page'),
        ));
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Text Wants to be bold',
              style: TextStyle(fontSize: 40),
            ),

          ],
        ),
      ),
    );
  }
}

【问题讨论】:

    标签: android flutter dart


    【解决方案1】:

    你可以试试这个解决方案MediaQueryData.fromWindow(WidgetsBinding.instance!.window).copyWith(boldText: true),

    return MediaQuery(
      data: MediaQueryData.fromWindow(WidgetsBinding.instance!.window).copyWith(boldText: true),
      child: MaterialApp(
        useInheritedMediaQuery: true,
      ),
    );
    

    通过这个答案: https://stackoverflow.com/a/70061828/16402513

    【讨论】:

    • 它总是很大胆。如果我禁用 android sccessibility 中的粗体文本。文本将是粗体,但我不想粗体。
    • 我添加了源代码你可以再次检查。
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 1970-01-01
    • 2022-01-12
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    相关资源
    最近更新 更多