resizable_container_box 0.0.1
resizable_container_box: ^0.0.1 copied to clipboard
A draggable and resizable Flutter container with color/image/text customization.
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:resizable_container_box/resizable_container_box.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(home: ResizableBoxDemo());
}
}
class ResizableBoxDemo extends StatefulWidget {
const ResizableBoxDemo({super.key});
@override
State<ResizableBoxDemo> createState() => _ResizableBoxDemoState();
}
class _ResizableBoxDemoState extends State<ResizableBoxDemo> {
final List<Widget> _widgets = [];
void _addNewBox() {
final key = UniqueKey();
_widgets.add(
ResizableContainerBox(
key: key,
counter: _widgets.length,
color: Colors.blue,
propertiesCallback: (props) {
print('Box Properties: \$props');
},
removeCallback: (key) {
setState(() {
_widgets.removeWhere((w) => w.key == Key(key.toString()));
});
},
),
);
setState(() {});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('ResizableContainerBox Example')),
floatingActionButton: FloatingActionButton(
onPressed: _addNewBox,
child: const Icon(Icons.add),
),
body: Stack(children: _widgets),
);
}
}