Usare i LimitedBox in Flutter

Mattepuffo's logo
Usare i LimitedBox in Flutter

Usare i LimitedBox in Flutter

I LimitedBox di primo acchitto potrebbero essere cosiderati uguali ai SizedBox.

In realtà ci sono delle differenze.

LimitedBox è un widget che vincola le dimensioni del suo figlio se non è vincolato dal suo genitore.

Questo può essere utile se si vuole creare un widget che verrà riutilizzato più volte.

Nei SizedBox, invece, la dimensione del widget sarà sempre controllata da SizedBox.

Con LimitedBox, invece, i vincoli di dimensione saranno applicati solo se il genitore non ha vincoli di dimensione.

Detto ciò vediamo un esempio basico:

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          LimitedBox(
            maxHeight: 200,
            child: Container(
              color: Colors.amber,
            ),
          ),
        ],
      ),
    );
  }
}

Enjoy!


Condividi

Commentami!