Flutter 바닥 탐색 표시 줄 효과 구현

모두 최근 에 신선 한 기술-flutter 를 토론 하고 있 습 니 다.편집장 도 공부 중 입 니 다.모두 가 직면 하 는 문제 에 부 딪 히 면 밑 에서 내 비게 이 션 을 합 니 다.아래쪽 내 비게 이 션 의 작성 을 붙 여 드 리 겠 습 니 다.주로 라 임 프로젝트 를 참고 하 였 습 니 다.
상위 코드
main.dart 파일 에서
앱 의 기본 정보 정의

class MyApp extends StatelessWidget {
 // This widget is the root of your application.
 @override
 Widget build(BuildContext context) {
  return new MaterialApp(
   title: 'Flutter Demo',
   theme: new ThemeData(

    primarySwatch: themeColor(),

   ),
   home: new MyHomePage(title: 'Flutter Demo Home Page'),
  );
 }
}
그 중 주요 코드 부분

class _MyHomePageState extends State<MyHomePage> {


 PageController pageController;
 int page = 0;

 @override
 Widget build(BuildContext context) {

  return new Scaffold(

   backgroundColor: Colors.grey,

   body: new PageView(

     children: [
      new Index(),
      new Classify(),
      new Shopping(),
      new Myself()
     ],

     controller: pageController,
     onPageChanged: onPageChanged
   ),

   bottomNavigationBar: new BottomNavigationBar(items: [
    new BottomNavigationBarItem(
     icon: new Icon(Icons.laptop_chromebook),
     title: new Text("  "),
     backgroundColor: Colors.grey
    ),
    new BottomNavigationBarItem(
      icon: new Icon(Icons.list), title: new Text("  "),backgroundColor: Colors.grey),
    new BottomNavigationBarItem(
      icon: new Icon(Icons.local_grocery_store), title: new Text("   ")),
    new BottomNavigationBarItem(icon: new Icon(Icons.person), title: new Text("  "))
   ],
     onTap: onTap,
     currentIndex: page
   ),
  );
 }

 @override
 void initState() {
  super.initState();
  pageController = new PageController(initialPage: this.page);
 }


 void onTap(int index) {
  pageController.animateToPage(
    index, duration: const Duration(milliseconds: 300),
    curve: Curves.ease);
 }


 void onPageChanged(int page) {
  setState(() {
   this.page = page;
  });
 }


}
그 중 각 페이지 의 주요 성명

아래쪽 탐색 표시 줄 의 내용 채 우기

2.기타 네 페이지 의 주요 코드

import 'package:flutter/material.dart';
class Classify extends StatelessWidget {


 @override
 Widget build(BuildContext context) {
  // TODO: implement build

  return new Scaffold(
   body: new Center(
    child:
    new Text("  "),
   ),
  );
 }
}
다른 3 페이지 의 코드 는 같 고 구체 적 인 논 리 는 수요 에 의 해 작성 된다.
효과 도
效果图
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기