after_layout 1.1.1+1 copy "after_layout: ^1.1.1+1" to clipboard
after_layout: ^1.1.1+1 copied to clipboard

Execute code after the first layout of your widget has been performed, i.e. after the first frame has been displayed.

example/example.dart

import 'package:flutter/material.dart';
import 'package:after_layout/after_layout.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'After Layout - Good Example',
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  @override
  HomeScreenState createState() => HomeScreenState();
}

class HomeScreenState extends State<HomeScreen> with AfterLayoutMixin<HomeScreen> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(body: Container(color: Colors.red));
  }

  @override
  void afterFirstLayout(BuildContext context) {
    // Calling the same function "after layout" to resolve the issue.
    showHelloWorld();
  }

  void showHelloWorld() {
    showDialog(
      context: context,
      builder: (context) => AlertDialog(
        content: Text('Hello World'),
        actions: <Widget>[
          TextButton(
            onPressed: () => Navigator.of(context).pop(),
            child: Text('DISMISS'),
          )
        ],
      ),
    );
  }
}
763
likes
140
points
274k
downloads

Publisher

verified publisherfluttercommunity.dev

Weekly Downloads

Execute code after the first layout of your widget has been performed, i.e. after the first frame has been displayed.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on after_layout