네비게이션바 질문
434
작성한 질문수 2
안녕하세요!
강사님께서 구현해주신 메인 화면에서 네비게이션바를 onTap의 controller를 통해 받아오며 화면이 전환되는데,
상세화면에 들어간 후에도 하위 탭이 유지되는 기능을 구현하고 싶어 구현중입니다.
class _DefaultLayoutState extends State<DefaultLayout> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: widget.backgroundColor ?? Colors.white,
appBar: renderAppBar(),
body: widget.child,
bottomNavigationBar: NavigationBar(),
floatingActionButton: widget.floatingActionButton,
);
}
NavigationBar() {
if(widget.bottomNavigationBar == null) {
return BottomNavigationBar(
selectedItemColor: PRIMARY_COLOR,
unselectedItemColor: BODY_TEXT_COLOR,
selectedFontSize: 10,
unselectedFontSize: 10,
type: BottomNavigationBarType.fixed,
onTap: (int index) {
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => MainBoard(index: 1,),
),
);
},
items: [
BottomNavigationBarItem(
icon: Icon(Icons.work_history_outlined),
label: '1',
),
BottomNavigationBarItem(
icon: Icon(Icons.attach_money),
label: '2',
),
BottomNavigationBarItem(
icon: Icon(Icons.people_alt),
label: '3',
),
],
);
}
else{
return widget.bottomNavigationBar;
}
}위의 코드처럼 메인 화면에서 네비게이션바가 null로 전송된다면 디폴트 네비게이션바를 구현하려고 시도하는데,
화면이 넘어간 이후, 값을 다른 화면에 넘겨 NavigationBar 탭을 변경시키려고 하고 있습니다.
근데, widget.index 형식으로 받아오는 방식으로 이용하면 하위 탭만 선택되었다고 변경이 되고 onTap기능인 TabBarView의 controller 영역인 메인 화면이 변경되지 않는데 혹시 해당 부분은 어떤식으로 event를 줘야하는지 알 수 있을까요?
답변 1
-1
안녕하세요!
혹시 제가 새로 올려드린 GoRouter v7강의 보셨을까요?
ShellRoute를 사용하면 매우 쉽게 구현 할 수 있습니다!
ShellRoute를 감싸고 있는 하위 라우트에 원하시는 화면을 넣으시면 됩니다.
감사합니다!
Isar 마지막 업데이트는 2년전입니다.
0
31
0
FlutterSecureStorage 질문
0
32
0
Dio onError Interceptor 만드는 부분에 질문이 있습니다.
0
80
2
관리자 기능에 대한 질문
0
100
2
part 'restaurant_model.g.dart';
0
92
1
36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.
0
56
2
2번 반환 상황 관련 질문
0
61
2
riverpod 3.0
0
140
2
Asset folder??
0
83
2
디자이너와 협업 시 프레임 크기 설정 관련 질문
0
114
2
FutureProvider, StateNotifierProvider 선택 기준
0
70
2
컴포넌트 모델화
0
64
2
쿼리 파라미터
0
84
2
화면 안보임
0
68
2
PaginationListView
0
54
1
강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.
0
103
2
프로토타입이미지
0
62
2
여러 객체를 상태 관리하는 방법에 대한 질문
0
85
2
장바구니 결제하기 응답이 500이 옵니다.
0
105
2
removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?
0
67
2
이 두가지는 완전히 동일한 기능인가요?
0
106
3
내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...
0
77
2
_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?
0
86
2
코딩 작성 순서 관련 질문
0
88
2





