使用颤振开发一款电影应用的示例

  介绍

小编给大家分享一下使用颤振开发一款电影应用的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

<强>前言

使用颤振开发一款应用程序是一件非常愉快的事情,其出色的性能,跨多端以及数量众多的原生组件都是我们选择颤振的理由!今天我们就来使用颤振开发一款电影类的应用程序,先看下应用的截的图。

使用颤振开发一款电影应用的示例“> <br/> </p> <p> <强>从main.dart开始</强> <br/> </p> <p>里主要在飘动。飞镖是应用开始的地方:<br/> </p> <pre类= 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的生命周期中,请求数据,再进行相应的展示。

使用颤振开发一款电影应用的示例