直播电商软件开发,Drawer实现侧边栏抽屉

直播电商软件开发,Drawer实现侧边栏抽屉相关的代码
代码解析
代码分成两部分,第一部分是头部

Row(
  children: <Widget>[
    Expanded(
      child: DrawerHeader(
        child: Text('这是头部图片'),
        decoration: BoxDecoration(
          image:DecorationImage(
            image: NetworkImage("https://pic2.zhimg.com/80/v2-40c024ce464642fcab3bbf1b0a233174_hd.jpg"),
            fit:BoxFit.fill
          )
        ),
    ),)
  ],
),

可以看到,这里加了一个Row,并且使用DrawerHeader组件,背景图来自于其中的BoxDecoration属性,设置image的网址和摆放方式即可。

第二部分是下面的选项

 ListTile(
   leading: CircleAvatar(
     child: Icon(Icons.home),
   ),
   title: Text("主页"),
   onTap: (){
     //跳转路由代码
   },
 ),
 Divider(),

对于第一个项“主页”来说,需要设置的是图表,名称和下面的分割线,使用CircleAvatar可以将图标变成圆形,更加美观
如果想通过这一项跳转到对应的路由,只需要添加onTap函数就可以跳转到指定路由

源代码
以下是全部源代码

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import 'package:flutter_swiper/flutter_swiper.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',

      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar:AppBar(title:Text("抽屉")),
      body:Center(child:Text("页面")),
       drawer: Drawer(
            child: Column(
              children: <Widget>[
                Row(
                  children: <Widget>[
                    Expanded(
                      child: DrawerHeader(
                        child: Text('这是头部图片'),
                        decoration: BoxDecoration(
                          image:DecorationImage(
                            image: NetworkImage("https://pic2.zhimg.com/80/v2-40c024ce464642fcab3bbf1b0a233174_hd.jpg"),
                            fit:BoxFit.fill
                          )
                        ),
                    ),)
                  ],
                ),
                ListTile(
                  leading: CircleAvatar(
                    child: Icon(Icons.home),
                  ),
                  title: Text("主页"),
                  onTap: (){
                    //跳转路由代码
                  },
                ),
                Divider(),
                ListTile(
                    leading:CircleAvatar(
                      child: Icon(Icons.folder),
                    ),
                    title:Text("文件")
                ),
                Divider(),
                ListTile(
                  leading: CircleAvatar(
                    child: Icon(Icons.help),
                  ),
                  title: Text("帮助"),
                )
              ],
            )
        ),
      endDrawer:Drawer(
        child: Text("右侧"),
      )
    );
  }
}

以上就是直播电商软件开发,Drawer实现侧边栏抽屉相关的代码, 更多内容欢迎关注之后的文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值