prerender 1.0.0 copy "prerender: ^1.0.0" to clipboard
prerender: ^1.0.0 copied to clipboard

A Flutter widget for building layouts based on other widgets' dimensions.

example/lib/main.dart

import 'package:example/examples/expanding_text.dart';
import 'package:example/examples/responsive_sheet.dart';
import 'package:example/examples/sticking_footer.dart';
import 'package:flutter/material.dart';

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

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

  @override
  State<ExamplesApp> createState() => _ExamplesAppState();
}

class _ExamplesAppState extends State<ExamplesApp> {
  final items = [
    ('Expanding Text', const ExpandingTextExample()),
    ('Sticking Footer', const StickingFooterExample()),
    ('Responsive Sheet', const ResponsiveSheetExample()),
  ];

  late var currentItem = items.last;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          centerTitle: false,
          title: Text(currentItem.$1),
        ),
        drawer: Drawer(
          child: Column(
            children: [
              for (var (item) in items)
                DrawerItem(
                  title: item.$1,
                  onSelect: () {
                    setState(() => currentItem = item);
                  },
                ),
            ],
          ),
        ),
        body: currentItem.$2,
      ),
    );
  }
}

class DrawerItem extends StatelessWidget {
  const DrawerItem({
    super.key,
    required this.title,
    required this.onSelect,
  });

  final String title;
  final VoidCallback onSelect;

  @override
  Widget build(BuildContext context) {
    return ListTile(
      title: Text(title),
      onTap: () {
        onSelect();
        Scaffold.of(context).closeDrawer();
      },
    );
  }
}
0
likes
160
points
6
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter widget for building layouts based on other widgets' dimensions.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on prerender