【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part84 Scrolling
「 基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は ウィジェット編 ( part84 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( ウィジェット編 ) part83 Scrolling
引き続き、Scrollingについて学びます。
Scrolling
GridViewウィジェット
GridView.builderコンストラクタ
GridView.builder
コンストラクタは動的にウィジェットを構成する際に使えそうなコンストラクタです。
itemBuilder
プロパティを駆使して無限グリッドビューを実現できるようです!
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(home: new MyApp()));
}
class MyApp extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _State();
}
}
class _State extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('テスト中です。'),
),
body: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
mainAxisSpacing: 8,
crossAxisSpacing: 16.0,
childAspectRatio: 2,
),
scrollDirection: Axis.vertical,
primary: false,
padding: const EdgeInsets.all(32.0),
itemCount: 7, // ここを省略すると無限グリッドビューになります。
itemBuilder: (context, index) {
return box((index + 1).toString());
},
),
),
);
}
Container box(String text) {
return Container(
alignment: Alignment.center,
width: 100,
height: 100,
color: Colors.green,
child: Text(text),
);
}
}
最後に
GridView使うならこれが最高に使いやすそうですね!
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません