Skip to content

Instantly share code, notes, and snippets.

@override
Widget build(BuildContext context) {
return new Scaffold(
backgroundColor: Theme.of(context).primaryColor,
body: SafeArea(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: <Widget>[
Expanded(
import 'package:flutter/material.dart';
class UnaryOperatorButton extends StatelessWidget {
UnaryOperatorButton({this.text,this.onPressed});
final String text;
final Function onPressed;
@override
import 'package:flutter/material.dart';
class BinaryOperatorButton extends StatelessWidget {
BinaryOperatorButton({this.onPressed,this.text});
final text;
final Function onPressed;
@override
Widget build(BuildContext context) {
import 'package:flutter/material.dart';
class ZeroButton extends StatelessWidget {
ZeroButton({this.onPressed});
final Function onPressed;
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(5.0),
import 'package:flutter/material.dart';
class NumberButton extends StatelessWidget {
NumberButton({this.text,this.onPressed});
final String text;
final Function onPressed;
@override
Widget build(BuildContext context) {
const double _radiansPerDegree = Math.pi / 180;
final double _startAngle = -90.0 * _radiansPerDegree;
double _itemSpacing = 360.0 / 5.0;
double _calculateItemAngle(int index) {
return _startAngle + index * _itemSpacing * _radiansPerDegree;
}
class _CircularLayoutDelegate extends MultiChildLayoutDelegate {
static const String actionButton = 'BUTTON';
Offset center;
final int itemCount;
final double radius;
_CircularLayoutDelegate({
@required this.itemCount,
@required this.radius,
});
for (int i = 0; i < 5; i++) {
products.add( LayoutId(
id: ‘BUTTON$i’,
child: item,
));
}
CustomMultiChildLayout(
delegate: _CircularLayoutDelegate(
itemCount: 5,
Radius: 150.0,
),
children: products,
)