为啥用网络数据启用轮播图 初始化时不是静止的

来源:8-4 轮播图Banner功能开发【使用轮子】

windgaigai

2019-06-14

import 'package:flutter/material.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
import '../models/rotation_model.dart';
import '../daos/home_dao.dart';
import 'dart:convert';


class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  List<RotationImgs> _imageUrls = [];

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _loadHomeData();
  }
  //获取服务器
  _loadHomeData() async{
    RotationModel rotationmodel = await HomeDao.fetchRotationData();
    print(json.encode(rotationmodel));
    setState(() {
      if(rotationmodel.returnCode == 'SUCCESS'){
        _imageUrls = rotationmodel.rotationImgs;
      };
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          children: <Widget>[
            createSwiper()
          ], //<Widget>
        ), //Column
      ), //Center
    ); //Scaffold
  }

  createSwiper(){
    return Container(
      height: 160,
      child: Swiper(
        itemCount: _imageUrls.length,
        onTap: (int index){
          print('11点击了第'+_imageUrls[index].forwardUrl);
        },
        autoplay: true,
        itemBuilder: (BuildContext context,int index){
          return Image.network(
            _imageUrls[index].imgUrl,
            fit: BoxFit.fill,
          );
        },//itemBuilder
        pagination:SwiperPagination(),
      ),//Swiper
    ); //Container
  }
}

我的代码
我把轮播图的数据换成了网络加载的
为啥每次初始化的时候 swiper会疯狂的滚动一会才停下来
用本地数据就不会出现这个问题

写回答

2回答

悦悦的子敬

2021-12-30

我发现给Swiper指定 index之后问题得到解决
下载视频          
0
0

windgaigai

提问者

2019-06-14

啊  看到其他同学提这个问题了  

0
1
CrazyCodeBoy
已确定是Swiper插件的bug
2019-06-14
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程