Flutter 仿纵横中文网

作者: luacoding | 来源:发表于2019-09-30 11:18 被阅读0次

    代码

    GITHUB

    介绍

    仿纵横中文网WAP页面

    主要工作

    • 路由

    • 界面布局

    • 组件拆分

    组件

    • Container:背景色,padding,margin 布局,border,borderRadius

    • Row:子组件横向布局

    • Column:子组件纵向布局

    • Text : 文字展示

    • Image: 图片展示

    • SingleChildScrollView :超出滚动

    • flutter_swiper :轮播组件

    采坑

    • 每个Scaffold组件的body属性需要使用Scaffold包裹,否则超出警告

    • 每个activity界面,按照320pt 切分布局

    • flutter_swiper,需要手动设置itemHeight属性,itemCount 超过3,会报错

    • 组件属性传递,事件传递。(与React 非常相似,可以参考相关代码)

    • 三方依赖注入:更改pubspec.yaml文件dependencies

    • Dart update 一直失败。

    代码示例

    代码结构

    代码结构
    • main.dart:入口文件

    • MainScreen: 入口主页

    • home/book 等:各个模块组件

    • components: 全局模块组件

    • utils: 公共方法

    主页

    主页

    由各个自定义组件构成

    组件详情

    class HomeCard extends StatefulWidget {
      static String pageName = '首页卡片';
      final int k;
      final Map v;
      HomeCard({this.k, this.v}) : super();
      @override
      _HomeCard createState() => _HomeCard();
    }
    
    class _HomeCard extends State<HomeCard> {
      @override
      Widget build(BuildContext context) {
        return Container(
          width: 75,
          margin: EdgeInsets.only(
            bottom: 18,
            left: widget.k % 3 == 0 ? 0 : 22,
            right: widget.k % 3 == 2 ? 0 : 22,
          ),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Image.network(
                widget.v['image'],
                width: 75,
                height: 100,
              ),
              Container(
                margin: EdgeInsets.only(top: 9),
                child: Text(
                  widget.v['title'],
                  style: TextStyle(
                    color: Color(0xff555555),
                    fontSize: 12,
                  ),
                  maxLines: 2,
                  overflow: TextOverflow.ellipsis,
                ),
              ),
            ],
          ),
        );
      }
    }
    

    组件调用

    组件调用

    添加三方依赖

    添加三方依赖

    修改pubspec.yaml文件,vscode 自动下载依赖

    下一步

    当前页面都是静态数据,需要爬虫接口支持,目前已在进行中。。。。

    界面展示

    book-detail.jpeg category.jpeg free.jpeg home-2.jpeg home-3.jpeg home.jpeg rank.jpeg shelf.jpeg

    相关文章

      网友评论

        本文标题:Flutter 仿纵横中文网

        本文链接:https://www.haomeiwen.com/subject/sgycpctx.html