【问题标题】:Multiple WidgetSpans in a row not respecting Directionality连续多个 WidgetSpan 不尊重方向性
【发布时间】:2020-03-26 23:10:01
【问题描述】:

我正在构建一个始终强制为 RTL 的 Flutter 应用程序(通过 MaterialApp builder 挂钩)。在应用程序中,我有内嵌按钮的内容。我使用Text.richWidgetSpans 将按钮内联。但是,当我连续有多个 WidgetSpans 时,它们会布置 LTR(请参阅下面的连续三个示例)。

我在这里缺少什么?我怎样才能让这些布局在正确的方向?

这是一个显示问题的示例:

import 'package:flutter/material.dart';

void main() async {
  runApp(
    MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Test(),
      ),
    ),
  );
}

class Test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Directionality(
        textDirection: TextDirection.rtl,
        child: Text.rich(
          TextSpan(children: [
            TextSpan(text: 'هذا اختبار'),
            WidgetSpan(
              child: Container(width: 10, height: 10, color: Colors.red)),
            WidgetSpan(
              child: Container(width: 10, height: 10, color: Colors.green)),
            WidgetSpan(
              child: Container(width: 10, height: 10, color: Colors.blue)),
          ]),
          textDirection: TextDirection.rtl,
        ),
      ),
    );
  }
}

【问题讨论】:

  • 关于这个话题的任何答案了吗?

标签: flutter flutter-layout


【解决方案1】:

我通过不使用WidgetSpans 解决了这个问题。

您可以使用字体图标并使用TextSpan 内的图标,而不是WidgetSpan

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-06
    • 2014-02-27
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2021-12-13
    相关资源
    最近更新 更多