Reputation: 891
I want a container which shrinks to it's content. This container should be placed in a stack, so that the container has no constraints from outside.
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150.0, minHeight: 48.0),
child: Container(
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8), border: Border.all(color: Colors.black)),
child: SelectableText(
"Text",
),
),
);
This code lets the container shrink around my Text, which is what I want.
Now I want to center the child widget (Text) in my container. I wrap the Text with a Center widget and it stretches the container up the whole available vertical space, which was obviously not my intention. The closest I could get is the solution with a column :
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150.0, minHeight: 48.0),
child: Container(
decoration: BoxDecoration(borderRadius: BorderRadius.circular(8), border: Border.all(color: Colors.black)),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SelectableText(
"Node",
),
],
),
),
);
This centers my text vertically but not horizontally and it doesn't feel like it's the correct way to achiece what I want.
Upvotes: 0
Views: 85
Reputation: 3488
Wrapped in Center
widget
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 150.0, minHeight: 48.0),
child: Center(
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.black),
),
child: SelectableText("Text"),
),
),
)
Upvotes: 1