답변: 구부러진 내비게이션 바를 탭할 수 있게 합니다. 답: 구부러진 내비게이션 바를 탭할 수 있게 만듭니다.

3066 단어

답: 구부러진 내비게이션 바를 탭할 수 있게 만듭니다.



2020년 1월 24일


4




index 를 사용하여 필요한 페이지를 표시할 수 있습니다.
import 'package:flutter/material.dart';
import 'package:curved_navigation_bar/curved_navigation_bar.dart';
import 'page1.dart'
import 'page2.dart'

void main() => runApp(MaterialApp(home: BottomNavBar()));

class BottomNavBar extends StatefulWidget {
  @override
  _BottomNavBarState createState() => _BottomNavBarState();
}

class _BottomNavBarState extends State<BottomNavBar> {
  int _pageIndex = 0;
  GlobalKey _bottomNavigationKey = GlobalKey();

  List pages





Open Full Answer



import '패키지:flutter/material.dart';
import '패키지:curved_navigation_bar/curved_navigation_bar.dart';
'page1.dart' 가져오기
'page2.dart' 가져오기

void main() => runApp(MaterialApp(home: BottomNavBar()));

클래스 BottomNavBar는 StatefulWidget {를 확장합니다.
@우세하다
_BottomNavBarState createState() => _BottomNavBarState();
}

클래스 _BottomNavBarState 확장 상태 {
int_pageIndex = 0;
글로벌키 _bottomNavigationKey = 글로벌키();

목록 페이지 = [
마이 루트(
iconData: Icons.add,
페이지: Page1(),
),
마이 루트(
iconData: Icons.compare_arrows,
페이지: Page2(),
)
];

@우세하다
위젯 빌드(BuildContext 컨텍스트) {
스캐폴드(
bottomNavigationBar: CurvedNavigationBar(
키: _bottomNavigationKey,
색인: 0,
높이: 50.0,
항목: 페이지
.map((p) => 아이콘(
p.iconData,
크기: 30,
))
.toList(),
색상: 색상. 흰색,
buttonBackgroundColor: 색상.흰색,
backgroundColor: Colors.blueAccent,
animationCurve: Curves.easeInOut,
animationDuration: 기간(밀리초: 600),
onTap: (인덱스) {
setState(() {
_pageIndex = 인덱스;
});
},
),
backgroundColor: Colors.blueAccent,
본문: 페이지[_pageIndex].page,
);
}
}

클래스 마이 루트 {
최종 IconData iconData;
최종 위젯 페이지;

MyRoute({this.iconData, this.page});
}

좋은 웹페이지 즐겨찾기