问题描述
我是 Flutter 的新手,我正在尝试制作如图所示的 TabBar 视图。但它显示“没有 TabBar 的 TabController”,并且在创建 TabBarView 时,您必须使用“控制器”属性提供显式 TabController,或者您必须确保 TabBarView 上方有一个 DefaultTabController。 在这种情况下,既没有显式控制器也没有默认控制器。 我尝试了互联网上提到的建议,但仍然出错。谁能帮我解决一下??谢谢
class _TransactionState extends State<Transaction> with SingleTickerProviderStateMixin {
int _value = 1;
TabController controller;
@override
void initState() {
controller = new TabController(vsync: this,length: 2);
super.initState();
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Transaction'),actions: <Widget>[
DropdownButton(
dropdownColor: primary,value: _value,items: [
DropdownMenuItem(
child: Text(
"Daily",style: TextStyle(color: Colors.white,fontWeight: FontWeight.bold,),value: 1,DropdownMenuItem(
child: Text("Monthly",value: 2,DropdownMenuItem(
child: Text("Yearly",value: 3,],onChanged: (int value){
setState(() {
_value = value;
});
//Padding(padding: EdgeInsets.all(20.0));
style: new TextStyle(
color: Colors.white,);
},automaticallyImplyLeading: false,backgroundColor: secondary,bottom: new TabBar(
controller: controller,tabs: <Widget>[
new Tab(icon: new Icon(Icons.add_shopping_cart),text: "Expense",new Tab(icon: new Icon(Icons.attach_money),text: "Income",body: TabBarView(
controller: controller,children: <Widget>[
new expense.TransactionExpense(),new income.TransactionIncome(),);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)