render_box_exposed 0.0.1 copy "render_box_exposed: ^0.0.1" to clipboard
render_box_exposed: ^0.0.1 copied to clipboard

A flutter package to expose a widget's RenderBox

example/lib/main.dart

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

void main() {
  runApp(const MaterialApp(home: HomePage()));
}

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

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage>
    with SingleTickerProviderStateMixin {
  late final RenderBoxExposer textExposer;
  late final AnimationController controller;

  double textSize = 10;

  @override
  void initState() {
    super.initState();

    textExposer = RenderBoxExposer(
      updateState: setState,
    );

    controller =
        AnimationController(vsync: this, duration: const Duration(seconds: 1));
    Animation tween = IntTween(begin: 10, end: 35).animate(controller);
    tween.addListener(() => setState(() => textSize = tween.value));

    controller.repeat(reverse: true);
  }

  @override
  void dispose() {
    controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
          title: Text(textExposer.isExposed
              ? textExposer.renderBox!.size.height.toString()
              : "RenderBoxExposed"),
          centerTitle: true),
      body: Center(
        child: RenderBoxExposed(
          exposer: textExposer,
          child: Text("Sample text", style: TextStyle(fontSize: textSize)),
        ),
      ),
    );
  }
}
2
likes
140
points
17
downloads

Publisher

unverified uploader

Weekly Downloads

A flutter package to expose a widget's RenderBox

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

after_layout, flutter

More

Packages that depend on render_box_exposed