GestureDetector in Stack is not working. Stack 하위에 GestureDetector 미작동시 해결 법
아래와 같은 코드처럼 Stack 안에 GestureDetector가 있으면 작동하지 않는다.
Stack(
clipBehavior: Clip.none,
children: [
Positioned(
right: 0,
child: GestureDetector(
onTap: () {
todoController.changeCalendarFormat();
},
child: Container(
padding: EdgeInsets.symmetric(
vertical: 5.h,
horizontal: 16.w,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(64.r)),
border: Border.all(
color: AppColor.grey[400] as Color,
width: 1,
),
),
child: Obx(
() => Text(
todoController.calendarFormatString(),
),
),
),
),
),
Obx(
() => TableCalendar(
locale: window.locale.toString(),
calendarFormat: todoController.calendarFormat.value
? CalendarFormat.week
: CalendarFormat.month,
focusedDay: DateTime.now(),
firstDay: DateTime(2020),
lastDay: DateTime(2100),
headerStyle: HeaderStyle(
leftChevronVisible: false,
rightChevronVisible: false,
formatButtonVisible: false,
),
calendarStyle: CalendarStyle(),
),
),
],
);
- GestureDetector is not Working
아래 처럼 GestureDetector부분을 Stack의 children 안에서 아래 부분으로 코드 순서만 바꿔주면 작동이 된다.
Stack(
clipBehavior: Clip.none,
children: [
Obx(
() => TableCalendar(
locale: window.locale.toString(),
calendarFormat: todoController.calendarFormat.value
? CalendarFormat.week
: CalendarFormat.month,
focusedDay: DateTime.now(),
firstDay: DateTime(2020),
lastDay: DateTime(2100),
headerStyle: HeaderStyle(
leftChevronVisible: false,
rightChevronVisible: false,
formatButtonVisible: false,
),
calendarStyle: CalendarStyle(),
),
),
Positioned(
right: 0,
child: GestureDetector(
onTap: () {
todoController.changeCalendarFormat();
},
child: Container(
padding: EdgeInsets.symmetric(
vertical: 5.h,
horizontal: 16.w,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(64.r)),
border: Border.all(
color: AppColor.grey[400] as Color,
width: 1,
),
),
child: Obx(
() => Text(
todoController.calendarFormatString(),
),
),
),
),
),
],
);
- GestureDetector is Working!!
Author And Source
이 문제에 관하여(GestureDetector in Stack is not working. Stack 하위에 GestureDetector 미작동시 해결 법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@terman/GestureDetector-in-Stack-is-not-working.-Stack-하위에-GestureDetector-미작동시-해결-법저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)