实现逻辑上flutter显得更加紧凑,而在android开发中同样的实现结果需要通过不同的结构组合(例如创建不同布局的xml,设置adapter,之后将adapter设置给指定的控件)。
而在flutter中可以直接通过对不同widget设置指定的事件更加降低了代码的耦合性。
如下为flutter创建导航栏切换的实例:
1 创建Pagerview并添加不同的页面;
body: PageView(
//pageview
controller: _controller,
children: <Widget>[
//添加需要显示的页面
MyPage(),
HomePage(),
SearchPage(),
TravelPage(),
],
),
2 scaffold中添加底部导航栏并给每个导航栏添加点击切换。
(添加点击事件的核心代码)
currentIndex: _currentIndex, //当下点击的条目
onTap: (index) { //点击事件 在点击到指定的图标 改变currentindex
_controller.jumpToPage(index);
setState(() {
_currentIndex = index;
});
},
总代码如下(另需单独创建不同的显示页面):
import 'package:flutter/material.dart';
import 'package:photo_te