aman-kassa-flutter/lib/widgets/components/calculator/number-display.dart

51 lines
1.3 KiB
Dart

import 'dart:math';
import 'package:flutter/material.dart';
class NumberDisplay extends StatelessWidget {
NumberDisplay({this.value: ''});
final String value;
GlobalKey stickyKey = GlobalKey();
@override
Widget build(BuildContext context) {
return Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 20.0, right: 20.0, top: 20.0 ),
child: Container(
key: stickyKey,
alignment: Alignment.topLeft,
child: AnimatedDefaultTextStyle(
duration: const Duration(milliseconds: 200),
style: TextStyle(
fontSize: fontSizeCalc(value: value),
fontWeight: FontWeight.bold,
color: Colors.black,
),
child: Text(
value,
),
),
)),
);
}
double fontSizeCalc({ String value = " " }) {
const double result = 40.0;
try {
const double global = 100000.0;
double scale = (global / value.length);
final pixelOfLetter = sqrt(scale);
final pixelOfLetterP = pixelOfLetter - (pixelOfLetter * 5) / 100;
if(pixelOfLetterP> result){
return result;
}
return pixelOfLetterP;
} catch(e) {
return result;
}
}
}