gpt4 book ai didi

flutter - SingleTickerProviderStateMixin 和自定义 mixin

转载 作者:行者123 更新时间:2023-12-03 04:47:09 32 4
gpt4 key购买 nike

我是 Flutter 和 Dart 的新手,谷歌无法帮助我解决这个问题。

假设我有这个:

class _MapPageState extends BaseState<MapPage> with SingleTickerProviderStateMixin

我想在此之上添加另一个 mixin (BasePage),其中包含可重用的应用栏、抽屉等。布局在 this article 中进行了描述。 .

我知道这是不可能的,我的 IDE 抛出一个错误告诉我要集成它们,但我不知道如何集成。有解决办法吗?我需要 SingleTickerProviderStateMixin因为我正在使用的 AnimationController 需要它。

如果需要,这里是自定义混合代码:

abstract class Base extends StatefulWidget {
Base({Key key}) : super(key: key);
}

abstract class BaseState<Page extends Base> extends State<Page> {
String screenName();
}

mixin BasePage<Page extends Base> on BaseState<Page> {

MapFunctions functions = MapFunctions();

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Guidey'),
backgroundColor: Colors.deepOrangeAccent,
centerTitle: true,
),
drawer: Theme(
data: Theme.of(context).copyWith(
canvasColor: Colors.black.withOpacity(0.5)
),
child: Drawer(
child: ListView(
padding: EdgeInsets.fromLTRB(40.0, 10.0, 40.0, 10.0),
children: <Widget>[
DrawerHeader(
child: Padding(
padding: EdgeInsets.fromLTRB(0, 35, 0, 0),
child: Text('Navigation', textAlign: TextAlign.center, style: TextStyle(fontSize: 20, color: Colors.white))
)
),
ListTile(
title: Text('Profile', style: TextStyle(color: Colors.white)),
trailing: Icon(Icons.account_circle, color: Colors.white70),
onTap: (){
Navigator.of(context).pop();
},
),
ListTile(
title: Text('Map', style: TextStyle(color: Colors.white)),
trailing: Icon(Icons.drive_eta, color: Colors.white70),
onTap: (){
Navigator.of(context).pop();
},
),
ListTile(
title: Text('My Location', style: TextStyle(color: Colors.white)),
trailing: Icon(Icons.store, color: Colors.white70),
onTap: (){
},
)
],
)
),
),
);
}

Widget body();
}

最佳答案

原来是我想多了,组合mixins用一个简单的逗号就可以了。

...使用 SingleTickProviderMixin、BasePageMixin

关于flutter - SingleTickerProviderStateMixin 和自定义 mixin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62077591/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com