해결된 질문
작성
·
101
0
아래와 같이 작성후 navbar 버튼을 클릭해도 타이틀은 변경되지만, 화면 변경이 안됩니다.
return Scaffold(
appBar: AppBar(
title: Obx(() => Text(controller.title.value)),
),
body: SafeArea(
child: PageTransitionSwitcher(
transitionBuilder: (Widget child, Animation<double> anim,
Animation<double> secondAnim) {
return FadeThroughTransition(
animation: secondAnim,
secondaryAnimation: secondAnim,
child: child,
);
},
child:
Obx(() => RouteInfo.navBarPages[controller.navBarIdx.value])),
),
bottomNavigationBar: Obx(() => NavigationBar(
selectedIndex: controller.navBarIdx.value,
onDestinationSelected: controller.onChangeNavBar,
destinations: [
NavigationDestination(
icon: const Icon(Icons.home_filled),
label: 'navBar.home'.tr,
),
NavigationDestination(
icon: const Icon(Icons.list_alt),
label: 'navBar.post'.tr,
),
NavigationDestination(
icon: const Icon(Icons.photo),
label: 'navBar.photo'.tr,
),
],
)),
);
답변 1
0
안녕하세요 Gavin님,
시리우스 B입니다.
저의 강의를 수강해 주셔서 정말 감사합니다!
작성해주신 코드에 오타가 하나 있어서 안되는 것 같습니다.
FadeThroughTransition 의
animation: secondAnim 부분을
animation: anim 으로 고치면 정상적으로 화면 전환이 될 것으로 보입니다.
작성해주신 코드의 해당 부분이 secondaryAnimation 항목과 같아서 문제가 생긴 것으로 보여요.
한번 해보시고 그래도 안 되면, 다시 한번 문의 주시기 바랍니다.
감사합니다!
[반영된 코드]
return Scaffold(
appBar: AppBar(
title: Obx(() => Text(controller.title.value)),
),
body: SafeArea(
child: PageTransitionSwitcher(
transitionBuilder: (Widget child, Animation<double> anim,
Animation<double> secondAnim) {
return FadeThroughTransition(
animation: anim,
secondaryAnimation: secondAnim,
child: child,
);
},
child:
Obx(() => RouteInfo.navBarPages[controller.navBarIdx.value])),
),
bottomNavigationBar: Obx(() => NavigationBar(
selectedIndex: controller.navBarIdx.value,
onDestinationSelected: controller.onChangeNavBar,
destinations: [
NavigationDestination(
icon: const Icon(Icons.home_filled),
label: 'navBar.home'.tr,
),
NavigationDestination(
icon: const Icon(Icons.list_alt),
label: 'navBar.post'.tr,
),
NavigationDestination(
icon: const Icon(Icons.photo),
label: 'navBar.photo'.tr,
),
],
)),
);
감사합니다. 오타였엇네요.