flutter PageView上下滑动切换视图

上下滑动切换的 pageview

import 'dart:math';

import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_x/base/base_appbar_page.dart';
import 'package:flutter_x/base/base_page.dart';
import 'package:flutter_x/common/common_colors.dart';
import 'package:flutter_x/utils/route_utils.dart';
import 'package:webview_flutter/webview_flutter.dart';

class UpPageViewPage extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return new UpPageViewPageState();
  }
}

class UpPageViewPageState extends BaseAppBarPageState<UpPageViewPage> {
  @override
  String buildInitState() {
    buildBackBar("pageView", backIcon: Icons.arrow_back_ios);
    return null;
  }

  final _controller = new PageController();
  @override
  Widget buildWidget(BuildContext context) {
    // TODO: implement buildWidget
    return Container(
      child: PageView(
        children: buildPageItemView(),
        //设置滑动方向
        scrollDirection: Axis.vertical,
      ),
    );
  }

  buildPageItemView() {
    List<Widget> _pages =new List();
    for(int i=0;i<100;i++){
     Widget item = new ConstrainedBox(
        constraints: const BoxConstraints.expand(),
        child: new CachedNetworkImage(
          width: double.infinity,
          height: double.infinity,
          fit: BoxFit.fill,
          imageUrl:
          "http://b-ssl.duitang.com/uploads/item/201311/02/20131102150044_YGB5u.jpeg",
          placeholder: (context, url) => new SizedBox(
            width: 24.0,
            height: 24.0,
            child: new CircularProgressIndicator(
              strokeWidth: 2.0,
            ),
          ),
          errorWidget: (context, url, error) => new Icon(Icons.error),
        ),
      );
     _pages.add(item);
    }
    return _pages;
  }
}

你可能感兴趣的:(flutter,Flutter开的发点滴积累)