Flutter 仿纵横中文网

代码

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

相关

dart 爬虫实践

仿穷游APP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值