Staged GridView loads a page, and the image below cannot be viewed by sliding. The page does not scroll.
In Windows 10, with flutter 1.7, you can enter the initialization print, but sliding the screen will not enter the listening event. controller: _ Scroll controller, set itemcount: 10, and load 10 pictures
//Please paste the code text below (do not use pictures instead of codes)
import 'dart:math';
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
final Uint8List kTransparentImage = new Uint8List.fromList(<int>[
0x89,
0x50,
0x4E,
0x47,
0x0D,
0x0A,
0x1A,
0x0A,
0x00,
0x00,
0x00,
0x0D,
0x49,
0x48,
0x44,
0x52,
0x00,
0x00,
0x00,
0x01,
0x00,
0x00,
0x00,
0x01,
0x08,
0x06,
0x00,
0x00,
0x00,
0x1F,
0x15,
0xC4,
0x89,
0x00,
0x00,
0x00,
0x0A,
0x49,
0x44,
0x41,
0x54,
0x78,
0x9C,
0x63,
0x00,
0x01,
0x00,
0x00,
0x05,
0x00,
0x01,
0x0D,
0x0A,
0x2D,
0xB4,
0x00,
0x00,
0x00,
0x00,
0x49,
0x45,
0x4E,
0x44,
0xAE,
]);
List<IntSize> _createSizes(int count) {
Random rnd = new Random();
return new List.generate(count,
(i) => new IntSize((rnd.nextInt(500) + 200), rnd.nextInt(800) + 200));
}
class Example08 extends StatefulWidget {
@override
Example08State createState() => new Example08State();
}
class Example08State extends State<Example08> {
static const int _kItemCount = 10;
final List<IntSize> _sizes = _createSizes(_kItemCount).toList();
ScrollController _scrollController = new ScrollController();
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text('random dynamic tile sizes'),
),
body: new StaggeredGridView.countBuilder(
controller: _scrollController,
itemCount: 10,
primary: false,
crossAxisCount: 4,
mainAxisSpacing: 4.0,
crossAxisSpacing: 4.0,
itemBuilder: (context, index) => new _Tile(index, _sizes[index]),
staggeredTileBuilder: (index) => new StaggeredTile.fit(2),
),
);
}
@override
void initState() {
super.initState();
print('初始化进入');
_scrollController.addListener(() {
print('我监听到了');
});
}
}
class IntSize {
const IntSize(this.width, this.height);
final int width;
final int height;
}
class _Tile extends StatelessWidget {
const _Tile(this.index, this.size);
final IntSize size;
final int index;
@override
Widget build(BuildContext context) {
return new Card(
child: new Column(
children: <Widget>[
new Stack(
children: <Widget>[
//new Center(child: new CircularProgressIndicator()),
new Center(
child: new FadeInImage.memoryNetwork(
placeholder: kTransparentImage,
image: 'https://picsum.photos/${size.width}/${size.height}/',
),
),
],
),
new Padding(
padding: const EdgeInsets.all(4.0),
child: new Column(
children: <Widget>[
new Text(
'Image number $index',
style: const TextStyle(fontWeight: FontWeight.bold),
),
new Text(
'Width: ${size.width}',
style: const TextStyle(color: Colors.grey),
),
new Text(
'Height: ${size.height}',
style: const TextStyle(color: Colors.grey),
),
],
),
)
],
),
);
}
}
1. Upgrade the version to ^ 0.3.0 2. Just run the shutter clean again