如何从 RichText 小部件中删除多余的空格

时间:2021-05-16 11:51:24

标签: flutter dart flutter-layout

更新:

我向 Flutter 团队 here 提交了一个问题。

原始问题:

我很难弄清楚如何从 RichText 小部件中删除多余的空格。

我正在寻找图片中所有四个文本行的宽度相同。

Text

代码:

import 'dart:ui';

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';

void main() {
  runApp(MyApp());
}

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

  final String text =
      "Placeholder text is the label for possible content in a text box.";

  @override
  Widget build(BuildContext context) {
    final TextStyle style = TextStyle(
      color: Colors.black,
      fontSize: 14,
      fontWeight: FontWeight.normal,
      wordSpacing: 0,
      fontStyle: FontStyle.normal,
      decorationThickness: 0,
      decoration: TextDecoration.none,
      letterSpacing: 1,
      textBaseline: TextBaseline.alphabetic,
      height: 1,
      decorationStyle: TextDecorationStyle.solid,
    );

    final children = text
        .split("")
        .map(
          (char) => WidgetSpan(
            child: Text(
              char,
              style: style,
              textWidthBasis: TextWidthBasis.parent,
            ),
            style: style,
          ),
        )
        .toList();

    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: Column(
            mainAxisSize: MainAxisSize.min,
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              RichText(
                textWidthBasis: TextWidthBasis.parent,
                text: TextSpan(text: text, style: style),
              ),
              Text.rich(TextSpan(text: text, style: style)),
              RichText(
                textWidthBasis: TextWidthBasis.parent,
                text: TextSpan(style: style, children: children),
              ),
              Text.rich(
                TextSpan(children: children, style: style),
                style: style,
                textWidthBasis: TextWidthBasis.parent,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

谢谢。

0 个答案:

没有答案