相关疑难解决方法(0)

如何检查Flutter Text小部件是否溢出

我有一个Text小部件,如果它超过一定的大小,可以截断:

ConstrainedBox(
  constraints: BoxConstraints(maxHeight: 50.0),
  child: Text(
    widget.review,
    overflow: TextOverflow.ellipsis,
  )
);
Run Code Online (Sandbox Code Playgroud)

或最大行数:

RichText(
  maxLines: 2,
  overflow: TextOverflow.ellipsis,
  text: TextSpan(
    style: TextStyle(color: Colors.black),
    text: widget.review,
  ));
Run Code Online (Sandbox Code Playgroud)

我的目标是只有在溢出完成后才能扩展文本.有没有正确的方法来检查文本是否溢出?

我试过的

我发现在RichText中有一个RenderParagraph renderObject,它有一个私有属性TextPainter _textPainter,有一个bool didExceedMaxLines.

简而言之,我只需要访问,richText.renderObject._textPainter.didExceedMaxLines但正如您所看到的,它是使用下划线私有的.

dart flutter

7
推荐指数
3
解决办法
1466
查看次数

如何在颤动中自动调整行内文本的大小

我正在尝试复制下面的用户界面。我想显示一个项目列表,其中每个项目平均分布为 3 个部分(请参阅下图)。我想达到同样的响应能力。但我无法将它们按完美顺序排列。这是模型:

在此输入图像描述

这就是我所取得的成就:

在此输入图像描述

这是我的代码:

Card stockList() {
    return Card(
      child: Container(
        padding: EdgeInsets.all(16.0),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Text('Stocks & Values', style: Theme.of(context).textTheme.subtitle,),
            SizedBox(height: 10.0),
            tile1(),
            SizedBox(height: 10.0,),
            Divider(),
            SizedBox(height: 10.0,),
            tile2(),
            SizedBox(height: 10.0,),
            Divider(),
            tile3(),
            SizedBox(height: 10.0,),
            Divider(),
            tile4(),
          ],
        ),
      ),
    );
  }

  Container tile1() {
    return Container(
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        children: <Widget>[
          Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Row(
                children: <Widget>[
                  Text('24k', style: Theme.of(context).textTheme.title,),
                  SizedBox(width: 5.0),
                  Image.asset('assets/country_flags/in.png',width: 20.0,height: 20.0,)
                ],
              ),
              SizedBox(height: 2.0,), …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

3
推荐指数
1
解决办法
4169
查看次数

标签 统计

dart ×2

flutter ×2

flutter-layout ×1