Resolves #376 Dynamic font size on badges

This commit is contained in:
estevez-dev
2019-06-23 14:53:11 +03:00
parent 2375543ebf
commit 5af2fd0562

View File

@ -35,6 +35,7 @@ class BadgeWidget extends StatelessWidget {
break; break;
} }
case "device_tracker": case "device_tracker":
case "person":
{ {
badgeIcon = EntityIcon( badgeIcon = EntityIcon(
padding: EdgeInsets.all(0.0), padding: EdgeInsets.all(0.0),
@ -46,6 +47,16 @@ class BadgeWidget extends StatelessWidget {
} }
default: 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; onBadgeTextValue = entityModel.entityWrapper.entity.unitOfMeasurement;
badgeIcon = Center( badgeIcon = Center(
child: Text( child: Text(
@ -53,7 +64,7 @@ class BadgeWidget extends StatelessWidget {
overflow: TextOverflow.fade, overflow: TextOverflow.fade,
softWrap: false, softWrap: false,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle(fontSize: 17.0), style: TextStyle(fontSize: stateFontSize),
), ),
); );
break; break;