Expanded
MaterialApp ( title,theme, home: Scaffold( appBar, body: ListView( children: [ Container(), Expanded ( padding: EdgeInsets.all(8.0), child: Container() ), Container()], ), ), );
açıklama
Benzer widgetlerden birinin mumkun olan alana esnetmek istersek kullanabiliriz. iki adet Expanded() widgetimiz varsa flex faktorle genişlemelerini birbirlerine oranlayabiliriz. Nerde işimize yarar?
Örneğin Column widgetin içinde bir suru children widgete sahibiz. Bu children widgetlerden bazılarının kalan alanlara esneyerek genişlemesinizi istiyoruz.O zaman bu widgetleri expanded içine alarak neişletebiliriz.
konum
MaterialApp ( title,theme, home: Scaffold( appBar, body: ListView( children: [ Container(), Expanded ( padding: EdgeInsets.all(8.0), child: Container() ), Container()], ), ), );
parametreler
ListView(
children: [
Container(),
Expanded (
padding: EdgeInsets.all(8.0), // alt widgeti verilen değer kadar iter
child: Container(),
),
Container()
],
)
örnek uygulama

import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Building layouts"),
),
body: myLayoutWidget(),
),
);
}
}
Widget myLayoutWidget() {
return Row(
children: [
Expanded(child: Icon(Icons.home)),
Expanded(child: Icon(Icons.home)),
Expanded(child: Icon(Icons.home)),
Expanded(child: Icon(Icons.home)),
],
);
}