diff --git a/devtools_options.yaml b/devtools_options.yaml new file mode 100644 index 0000000..fa0b357 --- /dev/null +++ b/devtools_options.yaml @@ -0,0 +1,3 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: diff --git a/lib/views/round_view.dart b/lib/views/round_view.dart index 056d0a1..b945ec4 100644 --- a/lib/views/round_view.dart +++ b/lib/views/round_view.dart @@ -67,6 +67,7 @@ class _RoundViewState extends State { @override Widget build(BuildContext context) { final bottomInset = MediaQuery.of(context).viewInsets.bottom; + final maxLength = widget.gameSession.getMaxLengthOfPlayerNames(); return CupertinoPageScaffold( resizeToAvoidBottomInset: false, @@ -122,15 +123,8 @@ class _RoundViewState extends State { index, Padding( padding: EdgeInsets.symmetric( - horizontal: widget.gameSession - .getLengthOfPlayerNames() > - 20 - ? (widget.gameSession - .getLengthOfPlayerNames() > - 32 - ? 5 - : 10) - : 15, + horizontal: + _getSegmendetControlPadding(maxLength), vertical: 6, ), child: Text( @@ -139,11 +133,9 @@ class _RoundViewState extends State { maxLines: 1, style: TextStyle( fontWeight: FontWeight.bold, - fontSize: widget.gameSession - .getLengthOfPlayerNames() > - 28 - ? 14 - : 18, + fontSize: _getSegmendetControlFontSize( + widget.gameSession + .getMaxLengthOfPlayerNames()), ), ), ), @@ -191,7 +183,13 @@ class _RoundViewState extends State { borderRadius: BorderRadius.circular(12), child: CupertinoListTile( backgroundColor: CupertinoColors.secondaryLabel, - title: Row(children: [Text(name)]), + title: Row(children: [ + Expanded( + child: Text( + name, + overflow: TextOverflow.ellipsis, + )) + ]), subtitle: Text( '${widget.gameSession.playerScores[index]}' ' ${AppLocalizations.of(context).points}'), @@ -395,6 +393,32 @@ class _RoundViewState extends State { } } + double _getSegmendetControlFontSize(int maxLength) { + if (maxLength > 8) { + // 9 - 12 characters + return 9.0; + } else if (maxLength > 4) { + // 5 - 8 characters + return 15.0; + } else { + // 0 - 4 characters + return 18.0; + } + } + + double _getSegmendetControlPadding(int maxLength) { + if (maxLength > 8) { + // 9 - 12 characters + return 0.0; + } else if (maxLength > 4) { + // 5 - 8 characters + return 5.0; + } else { + // 0 - 4 characters + return 8.0; + } + } + @override void dispose() { for (final controller in _scoreControllerList) { diff --git a/pubspec.yaml b/pubspec.yaml index b0bf86a..ffc7346 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -2,7 +2,7 @@ name: cabo_counter description: "Mobile app for the card game Cabo" publish_to: 'none' -version: 0.3.2+244 +version: 0.3.2+248 environment: sdk: ^3.5.4