diff --git a/CHANGELOG.md b/CHANGELOG.md
index ed5a8705f51f10c57fdfe821855deee62be10199..867cbdbbc9f64028d0535245e9abd0e5cd0343b2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.0
+
+-   Allow multiline parameter item
+
 ## 0.7.0
 
 -   Allow override activity buttons color
diff --git a/lib/parameters/application_config_definition.dart b/lib/parameters/application_config_definition.dart
index 2abba76dece58b4a47722c7584bb8ef2ecf06eff..7b2a5bb737acc0c69760fa973915a686a6a71628 100644
--- a/lib/parameters/application_config_definition.dart
+++ b/lib/parameters/application_config_definition.dart
@@ -35,6 +35,7 @@ class ApplicationSettingsParameter {
   final String code;
   final bool displayedOnTop;
   final List<ApplicationSettingsParameterItemValue> values;
+  final int itemsPerLine;
   final Widget Function({
     required BuildContext context,
     required double size,
@@ -49,6 +50,7 @@ class ApplicationSettingsParameter {
     required this.code,
     this.displayedOnTop = true,
     required this.values,
+    this.itemsPerLine = 0,
     this.builder,
     this.customPainter,
     this.colorGetter,
diff --git a/lib/parameters/pages/parameters.dart b/lib/parameters/pages/parameters.dart
index 4d98e6191f30e57dde5d6403013edc44b639abdf..fe45ecfb966264eee8daad00860ebeb624df5d1b 100644
--- a/lib/parameters/pages/parameters.dart
+++ b/lib/parameters/pages/parameters.dart
@@ -21,13 +21,15 @@ class PageParameters extends StatelessWidget {
     // Activity settings (top)
     for (ApplicationSettingsParameter parameter in appConfig.activitySettings) {
       if (parameter.displayedOnTop) {
-        lines.add(Row(
-          mainAxisAlignment: MainAxisAlignment.spaceBetween,
-          children: buildParametersLine(
-            parameter: parameter,
-            isEnabled: !canBeResumed,
-          ),
-        ));
+        for (var itemsLine in buildParametersLines(
+          parameter: parameter,
+          isEnabled: !canBeResumed,
+        )) {
+          lines.add(Row(
+            mainAxisAlignment: MainAxisAlignment.spaceBetween,
+            children: itemsLine,
+          ));
+        }
 
         lines.add(SizedBox(height: separatorHeight));
       }
@@ -75,13 +77,15 @@ class PageParameters extends StatelessWidget {
     // Activity settings (bottom)
     for (ApplicationSettingsParameter parameter in appConfig.activitySettings) {
       if (!parameter.displayedOnTop) {
-        lines.add(Row(
-          mainAxisAlignment: MainAxisAlignment.spaceBetween,
-          children: buildParametersLine(
-            parameter: parameter,
-            isEnabled: !canBeResumed,
-          ),
-        ));
+        for (var itemsLine in buildParametersLines(
+          parameter: parameter,
+          isEnabled: !canBeResumed,
+        )) {
+          lines.add(Row(
+            mainAxisAlignment: MainAxisAlignment.spaceBetween,
+            children: itemsLine,
+          ));
+        }
 
         lines.add(SizedBox(height: separatorHeight));
       }
@@ -92,7 +96,7 @@ class PageParameters extends StatelessWidget {
     );
   }
 
-  List<Widget> buildParametersLine({
+  List<List<Widget>> buildParametersLines({
     required ApplicationSettingsParameter parameter,
     required bool isEnabled,
   }) {
@@ -103,6 +107,10 @@ class PageParameters extends StatelessWidget {
       return [];
     }
 
+    final int itemsPerLine =
+        parameter.itemsPerLine != 0 ? parameter.itemsPerLine : items.length;
+
+    // Build linear list
     for (ApplicationSettingsParameterItemValue item in items) {
       final Widget parameterButton = BlocBuilder<ActivitySettingsCubit, ActivitySettingsState>(
         builder: (BuildContext context, ActivitySettingsState activitySettingsState) {
@@ -110,7 +118,7 @@ class PageParameters extends StatelessWidget {
               BlocProvider.of<ActivitySettingsCubit>(context);
 
           final double displayWidth = MediaQuery.of(context).size.width;
-          final double itemWidth = displayWidth / items.length - 4;
+          final double itemWidth = displayWidth / itemsPerLine - 4;
 
           return SizedBox.square(
             dimension: itemWidth,
@@ -132,6 +140,21 @@ class PageParameters extends StatelessWidget {
       parameterButtons.add(parameterButton);
     }
 
-    return parameterButtons;
+    // Split buttons in lines according to items count limit per line
+    final List<List<Widget>> lines = [];
+
+    List<Widget> line = [];
+    for (var parameterButton in parameterButtons) {
+      line.add(parameterButton);
+      if (line.length == itemsPerLine) {
+        lines.add(line);
+        line = [];
+      }
+    }
+    if (line.length != itemsPerLine) {
+      lines.add(line);
+    }
+
+    return lines;
   }
 }
diff --git a/pubspec.yaml b/pubspec.yaml
index e0711ce6304dd1d80e3e048290bc609d606e44c4..d98c82705f513eacc5ceacb00dcf8f1b9097f7c7 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: "Flutter custom toolbox for org.benoitharrault.* projects."
 
 publish_to: "none"
 
-version: 0.7.0
+version: 0.8.0
 
 homepage: https://git.harrault.fr/android/flutter-toolbox