diff --git a/lib/cards/widgets/card_widget.dart b/lib/cards/widgets/card_widget.dart index 4a6baaa..44d6172 100644 --- a/lib/cards/widgets/card_widget.dart +++ b/lib/cards/widgets/card_widget.dart @@ -220,37 +220,49 @@ class CardWidget extends StatelessWidget { List rows = []; rows.add(CardHeaderWidget(name: card.name)); - List result = []; int columnsCount = entitiesToShow.length >= card.columnsCount ? card.columnsCount : entitiesToShow.length; - entitiesToShow.forEach((EntityWrapper entity) { - result.add( - FractionallySizedBox( - widthFactor: 1/columnsCount, - child: EntityModel( - entityWrapper: entity, - child: GlanceEntityContainer( - showName: card.showName, - showState: card.showState, - ), - handleTap: true - ), - ) - ); - }); rows.add( Padding( - padding: EdgeInsets.fromLTRB(0.0, Sizes.rowPadding, 0.0, 2*Sizes.rowPadding), - child: Wrap( - //alignment: WrapAlignment.spaceAround, - runSpacing: Sizes.rowPadding*2, - children: result, + padding: EdgeInsets.only(bottom: Sizes.rowPadding, top: Sizes.rowPadding), + child: FractionallySizedBox( + widthFactor: 1, + child: LayoutBuilder( + builder: (BuildContext context, BoxConstraints constraints) { + List buttons = []; + double buttonWidth = constraints.maxWidth / columnsCount; + entitiesToShow.forEach((EntityWrapper entity) { + buttons.add( + SizedBox( + width: buttonWidth, + child: EntityModel( + entityWrapper: entity, + child: GlanceEntityContainer( + showName: card.showName, + showState: card.showState, + ), + handleTap: true + ), + ) + ); + }); + return Wrap( + //spacing: 5.0, + //alignment: WrapAlignment.spaceEvenly, + runSpacing: Sizes.rowPadding*2, + children: buttons, + ); + } + ), ), ) ); return Card( - child: new Column(mainAxisSize: MainAxisSize.min, children: rows) + child: Column( + mainAxisSize: MainAxisSize.min, + children: rows + ) ); } diff --git a/lib/cards/widgets/glance_entity_container.dart b/lib/cards/widgets/glance_entity_container.dart index 22bd29b..0ba67da 100644 --- a/lib/cards/widgets/glance_entity_container.dart +++ b/lib/cards/widgets/glance_entity_container.dart @@ -39,10 +39,10 @@ class GlanceEntityContainer extends StatelessWidget { } } result.add( - EntityIcon( - padding: EdgeInsets.all(0.0), - size: iconSize, - ) + EntityIcon( + padding: EdgeInsets.all(0.0), + size: iconSize, + ) ); if (!nameInTheBottom) { if (showState) { @@ -54,14 +54,9 @@ class GlanceEntityContainer extends StatelessWidget { return Center( child: InkResponse( - child: ConstrainedBox( - constraints: BoxConstraints(minWidth: Sizes.iconSize * 2), - child: Column( - mainAxisSize: MainAxisSize.min, - //mainAxisAlignment: MainAxisAlignment.start, - //crossAxisAlignment: CrossAxisAlignment.center, - children: result, - ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: result, ), onTap: () => entityWrapper.handleTap(), onLongPress: () => entityWrapper.handleHold(),