zoukankan      html  css  js  c++  java
  • flutter 轮播图

    代码:

    import 'package:flutter/material.dart';
    import '../service/service_method.dart';
    import 'package:flutter_swiper/flutter_swiper.dart';
    import 'dart:convert';
    class SwiperDemo extends StatelessWidget {
    const SwiperDemo({Key key}) : super(key: key);

    @override
    Widget build(BuildContext context) {
    return Container(
    child: FutureBuilder(//网络数据返回能很好的渲染控件
    future: getHomePageContent(),//网络返回的数据
    builder: (context,snapshot){
    if (snapshot.hasData) {//snapshot 相当于返回的数据
    var data = json.decode(snapshot.data.toString());
    List<Map> swiper = (data['data']['slides'] as List).cast();
    return Column(
    children: <Widget>[
    SwiperDiy(swiperDataList: swiper)
    ],
    );
    }else{
    return Center(
    child: Text('加载错误'),
    );
    }
    },
    ),
    );
    }
    }

    //轮播图
    class SwiperDiy extends StatelessWidget {
     
    final List swiperDataList;
    SwiperDiy({this.swiperDataList});//可以省去:super(key : key)
    @override
    Widget build(BuildContext context) {
    return Container(
    height: 200.0,
    child: Swiper(
    itemBuilder: (BuildContext context, int index){
    return Image.network("${swiperDataList[index]['image']}",fit: BoxFit.fill,);
    },
    itemCount: swiperDataList.length,
    pagination: SwiperPagination(),//下面的索引元素
    autoplay: true,
    ),
    );
    }
    }
    总结:

    轮播图控件 flutter_swiper

     

    先在pubspec.yaml导入flutter_swiper

    和 list 用法差不多

    Swiper(

    itemBuilder:(BuildContext context, int  index){

    return  xxx//xx是控件 一般是Image

    }

    itemCount : //个数

    pagination:SwiperPagination();//索引元素

    autoplay://是否自动滚动

    height://高度

    )

  • 相关阅读:
    HTML
    JavaScript事件总结
    关于更新发布CSS和JS文件的缓存问题
    Google Ajax库与 Jquery常用版本选择
    X队网面试经历小记
    妹纸我失业了……
    今天在公司填的《新员工试用期的问卷调查》
    转载来的迅雷面试题(网页布局)
    今天写了个动态切换样式文件,感觉比我之前做的那个好多了哦。
    有用的网址
  • 原文地址:https://www.cnblogs.com/pp-pping/p/12222390.html
Copyright © 2011-2022 走看看