颤振 - 无法使用 FAB 而不是选项卡栏图标更改选项卡

  • 本文关键字:选项 图标 FAB 颤振 dart flutter
  • 更新时间 :
  • 英文 :


我正在尝试制作一个小笔记应用程序,我的想法是,与其在应用程序的创建部分使用不同的页面,不如使用只能通过主屏幕中的"添加"晶圆厂访问的不同选项卡。我也希望它能够在您按下按钮后将其变成"后退"按钮,将您带回带有注释列表的原始页面。

class HomePage extends StatefulWidget {
const HomePage({Key key}) : super(key: key);
static final _myTabbedPageKey = new GlobalKey<HomePageState>();
@override
HomePageState createState() => HomePageState();
}
class HomePageState extends State<HomePage> with SingleTickerProviderStateMixin {
TabController tController;
@override
void initState(){
super.initState();
tController = new TabController(vsync: this, length: 2,);
}
@override
void dispose(){
tController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("NoteMe"),
),
body: Container(
child: TabBarView(
physics: NeverScrollableScrollPhysics(),
controller: tController,
children: <Widget>[
new ListPage(),
new CreationPage(),
],
)
),
floatingActionButton: actionButton(tController),
floatingActionButtonLocation: FloatingActionButtonLocation.endDocked,
bottomNavigationBar: BottomAppBar(
shape: CircularNotchedRectangle(),
child: Row(
children: <Widget>[
new Container(
child: IconButton(
icon: Icon(Icons.search),
onPressed: () {},
)),
],
),
),
);
}
}

//Implementing the ADD/RETURN Button as func
FloatingActionButton actionButton(TabController tC){
bool isListPage = true;
goToCreation(){
if(isListPage == true){
tC.animateTo(tC.index+1);
isListPage = false;
}
else{
tC.animateTo(tC.index - 1);
isListPage = true;
}
}
FloatingActionButton theButton = FloatingActionButton(
backgroundColor: kColorPink,
elevation: 2.0,
child: isListPage == true ? Icon(Icons.add) : Icon(Icons.arrow_back),
onPressed: goToCreation(),
);
return theButton;
}

如您所见,显示的fab由上述函数返回,该函数也将选项卡控制器作为参数。运行此内容时没有收到错误消息。它根本不起作用。我尝试不传递选项卡控制器,而是通过类似的东西访问它 HomePage._myTabbedPageKey.tController.animateTo(...(

我在另一篇文章中找到了,但那是当我收到一条错误消息时,指出在 null 上调用 tController 之类的内容。 抱歉,如果我的格式不够好。这是我在这里的第一篇文章

可能是对tc或事件goToCreation的引用为空。

你能在方法中放置一个断点并检查是否调用了该方法以及tc对象是否不为 null。

最新更新