1.Flutter 中的页面

前面提到过,在 Flutter 中万物皆 Widget,页面自然也是一个 Widget。

只不过是一个全屏的 Widget。

以下这个 Widget 就可以作为一个页面:class SplashPage extends StatelessWidget {

final splashUrl =

'https://raw.githubusercontent.com/chenBingX/img/master/其它/u=343452579,826911251&fm=26&gp=0.jpg';

@override

Widget build(BuildContext context) {

// TODO: implement build

return Stack(

alignment: Alignment(0, 0.75),

children: [

Container(

decoration: BoxDecoration(

image: DecorationImage(image: NetworkImage(splashUrl))),

),

GestureDetector(

// 设置点击事件

onTap: () {

// 使用 Navigator 跳转页面

Navigator.push(context, MaterialPageRoute(builder: (_) {

return HomePage();

}));

},

child: Container(

width: 100,

height: 40,

decoration: BoxDecoration(

borderRadius: BorderRadius.all(Radius.circular(6)),

gradient: LinearGradient(

colors: [Colors.red, Colors.green, Colors.blue],

),

),

child: Center(

child: Text(

"Next",

style: TextStyle(color: Colors.white, fontSize: 16),

))),

),

],

);

}

}

复制代码

应用页面:void main() => runApp(MaterialApp(

title: 'Flutter',

home: SplashPage(),

));

复制代码

看看效果:

2.使用 Navigator 跳转页面

在 Flutter 中,使用 Navigator 来进行页面跳转。

一个简单的跳转页面的例子:Navigator.push(context, MaterialPageRoute(builder: (_) {

// 目标页面,即一个 Widget

return DetailScreen();

复制代码

如果想要关闭一个页面,可以这样做:Navigator.pop(context);

复制代码

我们再构建一个 Scaffold 风格的页面,看看跳转的效果。class HomePage extends StatelessWidget {

@override

Widget build(BuildContext context) {

// TODO: implement build

return Scaffold(

appBar: AppBar(

title: Text('Home Page'),

),

body: Container(

color: Colors.white,

child: Center(

child: Text('This Home Pahe'),

),

),

);

}

}

复制代码

看看效果:

3.通过页面名称跳转

Navigator 支持通过页面名称跳转到指定页面。

当然,你需要先注册页面,在 MaterialApp 的 routes 中。MaterialApp(

// 设置第一个页面,即启动页

initialRoute: '/',

routes: {

// 注册一个页面

'/': (context) => FirstScreen(),

// 注册第二个页面

'/second': (context) => SecondScreen(),

},

);

复制代码

现在,你可以通过刚刚注册的页面名称来跳转一个页面,就像这样:Navigator.pushNamed(context, '/second');复制代码

如何找到我?

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐