Home > Net >  Flutter align timestamp text on bubble chat message
Flutter align timestamp text on bubble chat message

Time:11-16

My chat bubble looks like this:

enter image description here

I want its timestamp to stick to the right side like the following:

enter image description here

Here is my code:

   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)),
          ],
        ),
      ),
    );

How do I do that?

What doesn't work?

Using Row mainAxisAlignment: MainAxisAlignment.end or Align alignment: Alignment.centerRight leads to stretching all bubbles to max width.

enter image description here

Adding crossAxisAlignment: CrossAxisAlignment.end to the Column will align all texts that are smaller than the timestamp text to the right side.

enter image description here

CodePudding user response:

Wrap timestamp text in Row and with mainaxisalignment set to end.

CodePudding user response:

Use crossAxisAlignment: CrossAxisAlignment.end, on Column

 child: Column(
          crossAxisAlignment: CrossAxisAlignment.end,
          children: [
           content,

CodePudding user response:

wrap your timestamp with Align widget like this :

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