【问题标题】:Formatting text in flutter在颤动中格式化文本
【发布时间】:2020-11-24 11:48:33
【问题描述】:

我正在为文本设置样式,但无法获得我想要的 -: 我想要下面的文字

看起来像这样 -:

我该怎么做有人可以帮忙吗?

【问题讨论】:

  • 你能发布你当前的代码吗?
  • 你试过富文本吗?
  • 不,我没有尝试过富文本。

标签: flutter user-interface flutter-layout


【解决方案1】:

如果你想让每个单词都换行

String text = "Lorem ipsum dolor sit amet";

Text(
  text.replaceAll(" ", "\n"),
),

text.replaceAll(" ", "\n") 会将所有空格替换为 \n(新行)

【讨论】:

    【解决方案2】:

    您可以使用 \n (optn + shift + 7) 在您的字符串中创建一个新行。

    Container(
                      child: Center(
                        child: Text('Hello \nWorld',
                            textAlign: TextAlign.center,
                            style: TextStyle(
                                fontSize: 22.0,
                                fontWeight: FontWeight.bold,
                                letterSpacing: 0.7
                            )
                        ),
                      ),
                    ),
    

    使用 textAlign 使您的文本居中对齐(默认为左对齐)。

    【讨论】:

    • 但是如果有 3 个字母的单词并且全部来自列表呢?
    • 您可以使用具有三个 Text 小部件的 Column 作为子小部件,并将它们与中心对齐。如果您可以向我们提供部分代码,我可以更好地理解您的问题(如果这还不是解决方案)。
    • List<String> newname = [ 'Single BedSheet', 'Double BedSheet', 'Queen size Bedsheet', 'King size Bedsheet', 'Single BedSheet', 'Double BedSheet', 'Queen size Bedsheet', 'King size Bedsheet', 'Single BedSheet', 'Double BedSheet', ]; 假设这是列表。
    • 所以你想在下面显示这个列表的字符串吗?为此,您可以使用 ListView.builder。用户ListView.builder(itemCount: newname.length, itemBuilder: (BuildContext context, int index) {return Container(child: Text(newname[index]))},) 现在它将为您提供列表中的所有字符串,您只需设置文本样式,您可以为容器指定大小、宽度、颜色等。
    【解决方案3】:

    从您的评论看来,您有一个动态数据。由于您的问题不是很清楚,我将给您提供处理动态数据的示例。

    List a = ['Hello World', 'Hello', 'World'];
        ListView(
                  children: a.map((e) {
                if (e == "Hello") {
                  return Text(
                    e,
                    textAlign: TextAlign.end,
                    style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
                  );
                } else if (e == "World") {
                  return Text(
                    e,
                    textAlign: TextAlign.end,
                    style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
                  );
                } else {
                  return Text(
                    e,
                    textAlign: TextAlign.center,
                    style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
                  );
                }
              }).toList()),
    

    代码说明

    1)。我已经声明了一个随机字符串列表。

    2)。然后我使用列表视图来处理动态列表。

    3)。我进行迭代并使用 Text 小部件并根据我的要求放置一些样式。

    你可以自己设置你需要的条件。

    【讨论】:

      【解决方案4】:

      你可以用\n换行

      代码:

       Center(
                    child: Text('Hello Guys, Thanks \nfor visiting our website \nFlutter Examples.com',
                      style: TextStyle(fontSize: 22), 
                      textAlign: TextAlign.center)
                    )   
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-21
        • 2021-02-19
        • 2015-11-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多