Added Features requested in #137530 (#137532)

This PR will add new parameters to `ExpansionTile` widget to manage `dense`, `visualDensity` and `enableFeedback` of the main ListTile.

Solves #137530 

It is not a breaking change.
diff --git a/packages/flutter/lib/src/material/expansion_tile.dart b/packages/flutter/lib/src/material/expansion_tile.dart
index 6756931..cfd820f 100644
--- a/packages/flutter/lib/src/material/expansion_tile.dart
+++ b/packages/flutter/lib/src/material/expansion_tile.dart
@@ -14,6 +14,7 @@
 import 'material.dart';
 import 'material_localizations.dart';
 import 'theme.dart';
+import 'theme_data.dart';
 
 const Duration _kExpand = Duration(milliseconds: 200);
 
@@ -248,6 +249,9 @@
     this.clipBehavior,
     this.controlAffinity,
     this.controller,
+    this.dense,
+    this.visualDensity,
+    this.enableFeedback = true,
   }) : assert(
        expandedCrossAxisAlignment != CrossAxisAlignment.baseline,
        'CrossAxisAlignment.baseline is not supported since the expanded children '
@@ -491,6 +495,17 @@
   /// than supplying a controller.
   final ExpansionTileController? controller;
 
+  /// {@macro flutter.material.ListTile.dense}
+  final bool? dense;
+
+  /// Defines how compact the expansion tile's layout will be.
+  ///
+  /// {@macro flutter.material.themedata.visualDensity}
+  final VisualDensity? visualDensity;
+
+  /// {@macro flutter.material.ListTile.enableFeedback}
+  final bool? enableFeedback;
+
   @override
   State<ExpansionTile> createState() => _ExpansionTileState();
 }
@@ -629,6 +644,7 @@
       case TargetPlatform.windows:
         break;
     }
+
     return Container(
       clipBehavior: clipBehavior,
       decoration: ShapeDecoration(
@@ -646,6 +662,9 @@
               textColor: _headerColor.value,
               child: ListTile(
                 onTap: _handleTap,
+                dense: widget.dense,
+                visualDensity: widget.visualDensity,
+                enableFeedback: widget.enableFeedback,
                 contentPadding: widget.tilePadding ?? expansionTileTheme.tilePadding,
                 leading: widget.leading ?? _buildLeadingIcon(context),
                 title: widget.title,
diff --git a/packages/flutter/lib/src/material/list_tile.dart b/packages/flutter/lib/src/material/list_tile.dart
index 7417872..98d1215 100644
--- a/packages/flutter/lib/src/material/list_tile.dart
+++ b/packages/flutter/lib/src/material/list_tile.dart
@@ -424,6 +424,7 @@
   /// line limits using [Text.maxLines].
   final bool isThreeLine;
 
+  /// {@template flutter.material.ListTile.dense}
   /// Whether this list tile is part of a vertically dense list.
   ///
   /// If this property is null then its value is based on [ListTileTheme.dense].
@@ -431,6 +432,7 @@
   /// Dense list tiles default to a smaller height.
   ///
   /// It is not recommended to set [dense] to true when [ThemeData.useMaterial3] is true.
+  /// {@endtemplate}
   final bool? dense;
 
   /// Defines how compact the list tile's layout will be.
diff --git a/packages/flutter/test/material/expansion_tile_test.dart b/packages/flutter/test/material/expansion_tile_test.dart
index 9900a11..79ba435 100644
--- a/packages/flutter/test/material/expansion_tile_test.dart
+++ b/packages/flutter/test/material/expansion_tile_test.dart
@@ -1198,4 +1198,38 @@
     final ExpansionTileController? controller2 = ExpansionTileController.maybeOf(nonDescendantKey.currentContext!);
     expect(controller2, isNull);
   });
+
+  testWidgetsWithLeakTracking('Check if dense, enableFeedback, visualDensity parameter is working', (WidgetTester tester) async {
+    final GlobalKey titleKey = GlobalKey();
+    final GlobalKey nonDescendantKey = GlobalKey();
+
+    const bool dense = true;
+    const bool enableFeedback = false;
+    const VisualDensity visualDensity = VisualDensity.compact;
+
+    await tester.pumpWidget(MaterialApp(
+      home: Material(
+        child: Column(
+          children: <Widget>[
+            ExpansionTile(
+              dense: dense,
+              enableFeedback: enableFeedback,
+              visualDensity: visualDensity,
+              title: Text('Title', key: titleKey),
+              children: const <Widget>[
+                Text('Child 0'),
+              ],
+            ),
+            Text('Non descendant', key: nonDescendantKey),
+          ],
+        ),
+      ),
+    ));
+
+    final Finder tileFinder = find.byType(ListTile);
+    final ListTile tileWidget = tester.widget<ListTile>(tileFinder);
+    expect(tileWidget.dense, dense);
+    expect(tileWidget.enableFeedback, enableFeedback);
+    expect(tileWidget.visualDensity, visualDensity);
+  });
 }