小编给大家分享一下使用颤振开发一款电影应用的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>前言强>
使用颤振开发一款应用程序是一件非常愉快的事情,其出色的性能,跨多端以及数量众多的原生组件都是我们选择颤振的理由!今天我们就来使用颤振开发一款电影类的应用程序,先看下应用的截的图。
import & # 39;包:颤振/material.dart& # 39;; import & # 39;包:电影/跑龙套router.dart& # 39;, as 路由器; void main(),=祝辞,runApp (MyApp ()); class MyApp  extends StatelessWidget  { ,//却;能够widget is 从而root of your 应用程序。 ,@override ,Widget 构建(BuildContext 上下文),{ return MaterialApp(才能 ,,,debugShowCheckedModeBanner:假的, ,,,标题:& # 39;电影& # 39;, ,,,主题:ThemeData ( ,,,primarySwatch:, Colors.blue, ,,), ,,,onGenerateRoute: router.generateRoute, ,,,initialRoute: & # 39;/& # 39; ,,); ,} }
一般的,在颤振中管理路由有两种方式,一种是直接使用Navigator.of(上下文).push(),这种方式比较适合非常简单的应用,随着应用的不断发展,逻辑越来越多,推荐使用具名路由来管理应用,本文也是使用的这种方式。直接将路由挂在MaterialApp的onGenerateRoute字段上即可,具体的路由定义放在了单独的文件中进行管理跑龙套/路由器。飞镖:
import & # 39;包:颤振/material.dart& # 39;; import & # 39;包:电影/屏幕/home.dart& # 39;; import & # 39;包:电影/屏幕/detail.dart& # 39;; import & # 39;包:电影/屏幕/videoPlayer.dart& # 39;; Route真是像极了前端的路由定义,先将组件进口进来,然后在各自的路由中返回即可。
<强>首页强>
在首页中使用TabBar来展示“正在热映“和“TOP250":
import & # 39;包:颤振/material.dart& # 39;; import & # 39;包:电影/屏幕/hot.dart& # 39;; class Home  extends StatefulWidget  { ,回家({Key 关键}),:,超级(关键:键); ,_HomeState createState(),=祝辞,_HomeState (); } class _HomeState  extends State< Home>, with SingleTickerProviderStateMixin { ,TabController _tabController; ,@override ,void initState (), { super.initState才能(); _tabController 才能=,TabController (vsync:这,,,initialIndex:, 0,,长度:,2); ,} ,@override ,Widget 构建(BuildContext 上下文),{ return 才能;支架( ,,,appBar: appBar ( ,,,标题:,TabBar ( ,,,,控制器:,_tabController, ,,,,标签:,& lt; Widget> ,,,,,标签(文本:& # 39;正在热映& # 39;), ,,,,,标签(文本:& # 39;TOP250& # 39;), ,,,,, ,,,), ,,), ,,,身体:TabBarView ( ,,,控制器:,_tabController, ,,,孩子们:,& lt; Widget> [ ,,,,热(), ,,,,热(历史:,真的), ,,,, ,,), ,,); ,} }两个页面的布局是一样的,只有数据是不同的,所以我们复用这个页面热,传入历史参数来代表是否为Top250页面
<强>复用的热组件强>
<李>
在这个组件中,通过历史字段来区分成两个页面。
李> <李>在页面initState的生命周期中,请求数据,再进行相应的展示。
使用颤振开发一款电影应用的示例