From 5af2fd05624bbaedffe75517bbc4e39076d15d85 Mon Sep 17 00:00:00 2001 From: estevez-dev Date: Sun, 23 Jun 2019 14:53:11 +0300 Subject: [PATCH] Resolves #376 Dynamic font size on badges --- lib/entity_widgets/common/badge.dart | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/entity_widgets/common/badge.dart b/lib/entity_widgets/common/badge.dart index 0298539..24ca1af 100644 --- a/lib/entity_widgets/common/badge.dart +++ b/lib/entity_widgets/common/badge.dart @@ -35,6 +35,7 @@ class BadgeWidget extends StatelessWidget { break; } case "device_tracker": + case "person": { badgeIcon = EntityIcon( padding: EdgeInsets.all(0.0), @@ -46,6 +47,16 @@ class BadgeWidget extends StatelessWidget { } default: { + double stateFontSize; + if (entityModel.entityWrapper.entity.state.length <= 3) { + stateFontSize = 18.0; + } else if (entityModel.entityWrapper.entity.state.length <= 4) { + stateFontSize = 15.0; + } else if (entityModel.entityWrapper.entity.state.length <= 6) { + stateFontSize = 10.0; + } else if (entityModel.entityWrapper.entity.state.length <= 10) { + stateFontSize = 8.0; + } onBadgeTextValue = entityModel.entityWrapper.entity.unitOfMeasurement; badgeIcon = Center( child: Text( @@ -53,7 +64,7 @@ class BadgeWidget extends StatelessWidget { overflow: TextOverflow.fade, softWrap: false, textAlign: TextAlign.center, - style: TextStyle(fontSize: 17.0), + style: TextStyle(fontSize: stateFontSize), ), ); break;