Flutter 在气泡聊天消息上对齐时间戳文本

标签 flutter dart flutter-layout

我的聊天气泡看起来像这样:

enter image description here

我希望它的时间戳保持在右侧,如下所示:

enter image description here

这是我的代码:

   return Align(
      alignment: alignment,
      child: Bubble(
        margin: BubbleEdges.only(
          top: 10,
          left: leftMargin,
          right: rightMargin,
        ),
        color: backgroundColor,
        nip: bubbleNip,
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            content,
            const SizedBox(height: 5),
            Text(timeFormat01(timestamp)),
          ],
        ),
      ),
    );

我该怎么做?

什么不起作用?

使用 Row mainAxisAlignment: MainAxisAlignment.end 或 Align alignment: Alignment.centerRight 导致将所有气泡拉伸(stretch)到最大宽度。

enter image description here

crossAxisAlignment: CrossAxisAlignment.end 添加到 Column 会将所有小于时间戳文本的文本对齐到右侧。

enter image description here

最佳答案

像这样用 Align 小部件包裹你的时间戳:

IntrinsicWidth(
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: [
              content,
              SizedBox(height: 5),
              Align(
                alignment: Alignment.centerRight,
                child: Text(timeFormat01(timestamp)),
              ),
            ],
          ),
        )

关于Flutter 在气泡聊天消息上对齐时间戳文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74435565/

相关文章:

flutter - 如何根据 Flutter 中的项目更改底部工作表的高度?

jquery - 如何使用Dart开发jQuery插件

flutter - Flutter异常: '() => Future<Database>'类型不是 'Database'类型的子类型

Flutter DropdownButtonFormField 不起作用

flutter 。如何测试集成测试没有溢出?

flutter - 在flutter中弹出屏幕后如何调用函数来更新值?

flutter - 应用程序终止时是否可以运行代码?

android - 使用按钮单击和滚动进行水平页面交换 - Flutter

flutter - Flutter序列化失败,并出现NoSuchMethodError:在空方法上调用了 'toIso8601String'方法

firebase - 如何将 Firestore 文档列表打印到控制台?