Flutter에서 Text 위젯의 내용을 세로 및 가로로 가운데에 배치하는 방법을 알고 싶습니다. Center(child: Text("test"))
콘텐츠 자체가 아닌 사용하여 위젯 자체를 중앙에 배치하는 방법 만 알고 있습니다. 기본적으로 왼쪽에 정렬됩니다. Android에서는이를 달성하는 TextView의 속성을 gravity
.
내가 원하는 것의 예 :
답변:
더 유연한 옵션은 다음 Text()
과 Align()
같이 감싸는 것 입니다 .
Align(
alignment: Alignment.center, // Align however you like (i.e .centerRight, centerLeft)
child: Text("My Text"),
),
사용 Center()
은 TextAlign
텍스트 위젯에서 완전히 무시하는 것 같습니다 . 정렬되지 TextAlign.left
않거나 TextAlign.right
시도하면 중앙에 유지됩니다.
Center of SizedBox 내의 텍스트 요소가 샘플 코드 아래에서 훨씬 더 나은 방식으로 작동합니다.
Widget build(BuildContext context) {
return RawMaterialButton(
fillColor: Colors.green,
splashColor: Colors.greenAccent,
shape: new CircleBorder(),
child: Padding(
padding: EdgeInsets.all(10.0),
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
SizedBox(
width: 100.0,
height: 100.0,
child: Center(
child: Text(
widget.buttonText,
maxLines: 1,
style: TextStyle(color: Colors.white)
),
)
)]
),
),
onPressed: widget.onPressed
);
}
코딩 즐기기 👨💻
개요 : Flex 위젯을 사용하여 가로축을 따라 MainAxisAlignment.center를 사용하여 내 페이지의 텍스트를 중앙에 배치했습니다. 컨테이너 패딩을 사용하여 텍스트 주위에 여백을 만듭니다.
Flex(
direction: Axis.horizontal,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
padding: EdgeInsets.all(20),
child:
Text("No Records found", style: NoRecordFoundStyle))
])
2 컨테이너에 동일한 너비와 높이를 제공하고 싶을 수도 있습니다.
Container(
width: size.width * 0.30, height: size.height * 0.4,
alignment: Alignment.center,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6)
),
child: Center(
child: Text(categoryName, textAlign: TextAlign.center, style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 17,
color: Colors.white,
),),
),