여러가지 버튼 위젯으로 BorderRadius(테두리) 를 변경하는 방법을 설명하고자 한다. 설명에는 ElevatedButton, TextButton, OutlinedButton 을 활용한 변경과 기본적인 Container 를 사용한 방법을 소개한다.
1. ElevatedButton 테두리 변경하기
ElevatedButton(
onPressed: () {
// 버튼 클릭 시 동작
},
style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
),
child: Text("Rounded Button"),
)
1.1 ElevatedButton 에서 Material 3 스타일로 테두리 변경하기
ElevatedButton(
onPressed: () {
// 버튼 클릭 시 동작
},
style: ButtonStyle(
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
),
),
child: Text("M3 Rounded Button"),
)
2. TextButton 테두리 변경하기
TextButton(
onPressed: () {
// 버튼 클릭 시 동작
},
style: TextButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
),
child: Text("Rounded Text Button"),
)
3. OutlinedButton 테두리 변경하기
OutlinedButton(
onPressed: () {
// 버튼 클릭 시 동작
},
style: OutlinedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8),
),
),
child: Text("Rounded Outlined Button"),
)
4. 기본적인 Container로 버튼을 만들고 테두리 변경하는 방법
GestureDetector(
onTap: () {
// 버튼 클릭 시 동작
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 12, horizontal: 24),
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(20),
),
child: Text(
"Custom Button",
style: TextStyle(color: Colors.white),
),
),
)
반응형
'Dev > Flutter' 카테고리의 다른 글
[Flutter] Json 데이터를 객체로 변환하는 방법 (0) | 2024.12.03 |
---|---|
함수형 위젯 vs 클래스형 위젯, 어떻게 하는게 좋을까? (2) | 2024.12.02 |
Flutter iOS 이슈 (0) | 2024.02.04 |
Flutter DropdownButton 글자 중앙정렬 (0) | 2023.12.16 |
Flutter - TextFormField (0) | 2023.11.22 |