[flutter] 스택드 위젯에서 버튼 위젯 사용하는 방법
Flutter에서 스택(Stack) 위젯은 다양한 위젯을 겹쳐서 사용할 수 있는 효과적인 방법을 제공합니다. 그러나 스택 위젯 안에 버튼 위젯을 사용할 때 발생할 수 있는 상황에 대해 알아봅시다.
버튼 위젯과 스택 위젯
일반적으로 버튼 위젯은 터치 이벤트를 처리하는데 사용됩니다. 그러나 버튼 위젯을 스택 위젯 안에 배치할 경우, 스택의 다른 위젯과 겹칠 수 있어 터치 이벤트가 의도대로 동작하지 않을 수 있습니다. 이를 해결하기 위해 아래 예시 코드를 통해 버튼 위젯을 스택 위젯 안에서 제대로 사용하는 방법을 알아봅시다.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Stack(
children: [
Container(
width: 200,
height: 200,
color: Colors.blue,
),
Positioned(
bottom: 16,
right: 16,
child: ElevatedButton(
onPressed: () {
// 버튼을 눌렀을 때 수행할 동작
},
child: Text('버튼'),
),
),
],
),
),
),
);
}
}
위 코드에서는 Positioned 위젯을 사용하여 버튼을 특정 위치에 배치하고 있습니다. Positioned 위젯을 사용하면 스택 위젯 안에서 위젯의 위치를 지정할 수 있습니다.
요약
스택(Stack) 위젯 안에서 버튼을 사용할 때는 Positioned 위젯을 활용하여 버튼의 위치를 명확히 지정해야 합니다. 이를 통해 버튼과 다른 위젯이 겹칠 때 발생할 수 있는 터치 이벤트 처리 문제를 해결할 수 있습니다.