矿小助拥有三种主题,实现起来非常复杂,总结起来就更不用说了,头皮发麻QAQ。
因此,花了半天时间将其拆分出来,做成插件,开源给大家使用。具体的细节大家自己研究吧(溜)。
第一次做插件,难免考虑不周,还请谅解
文章接上回 1 基础配置 | 巧妙利用代码补全 | Flutter
快速实现网易云音乐式主题效果
pub插件地址:https://pub.dev/packages/flytheme
github仓库地址:https://github.com/cnatom/flytheme
本插件是从矿小助App中拆分出来的,优化了很多细节,更加简单易用。
内置持久化存储,使用share_preference实现。
主题状态跨组件共享使用Provider实现。
样例视频:https://www.bilibili.com/video/BV13f4y137Kx?spm_id_from=333.999.0.0
导入组件
首先,导入flytheme到pubspec.yaml文件
flytheme: any
初始化
使用了share_preference
对主题配置进行持久化存储,所以要在runApp()
前进行初始化
void main() async{
await FlyApp.init();//必须要添加
runApp(MyApp());
}
使用
在入口处添加FlyApp
class Example extends StatefulWidget {
@override
_ExampleState createState() => _ExampleState();
}
class _ExampleState