2

没有任何方法可以使多行文本用右对齐方式换行

  @override   
  Widget build(BuildContext context) {
    var tt = "ومن رأى: أن إبرته التي يخيط بها انكسرت أو انتزعت منه، فإن شأنه يتفرق ويفسد أمره، وتدل الإبرة أيضاً على المرأة لإدخال الخيط فيها، وكذلك المسلة، فمن رأى أن بيده مسلة وكانت إمرأته حبلى ولدت له إبنة، وإن لم يكن هناك حمل دل ذلك على سفره.";

    return new Scaffold(
      appBar: new AppBar(
        title: new Text(gettitle()) ,
      ),

        body:
        new Directionality(textDirection: TextDirection.rtl, child:
        new Padding(
        padding: const EdgeInsets.all(16.0),
        child:
          new SingleChildScrollView(
              child:
                new Text(
                  tt,
                  textAlign: TextAlign.right,
                  textDirection: TextDirection.rtl,
                )
            ,)
        ),
        )

    );    
  }
Doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.3.2, on Mac OS X 10.13.4 17E202, locale en-JO)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.2)
[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
[✓] Android Studio (version 3.0)
[✓] Connected devices (1 available)

• No issues found!
Process finished with exit code 0
4

1 回答 1

4

我很确定这是一个错误。正如您所说,它似乎只发生在多行文本中。用这个最小的例子:

  @override
  Widget build(BuildContext context) {
    return new Directionality(
      textDirection: TextDirection.rtl,
      child: new Scaffold(
        appBar: new AppBar(
          title: new Text(ttrtl2),
        ),
        body: new Padding(
          padding: const EdgeInsets.only(right: 10.0),
          child: new Text(
            ttrtl,
            style: new TextStyle(fontSize: 24.0),
          ),
        ),
      ),
    );
  }

起始字符没有丢失,只是因为我在右侧添加了填充。SingleChildScrollView 似乎没有问题,因为我可以用上面的代码重现它。(顺便说一下,SingleChildScrollView 可以采用填充,所以同样的工作也可以。)

如果切换Debug Paint,您会看到前导字符与填充重叠,这就是为什么在没有填充时,前导字符会被截断。

您可以切换到dev频道,然后再试一次。或者添加几个像素的右填充。或者检查现有问题(我自己没有看到)并输入问题。

Debug Paint Screenshot 显示文本渗入填充... 调试绘画截图

于 2018-05-16T02:38:39.117 回答