@@ -162,8 +162,14 @@ class RadioListTile<T> extends StatelessWidget {
162
162
required this .value,
163
163
required this .groupValue,
164
164
required this .onChanged,
165
+ this .mouseCursor,
165
166
this .toggleable = false ,
166
167
this .activeColor,
168
+ this .fillColor,
169
+ this .hoverColor,
170
+ this .overlayColor,
171
+ this .splashRadius,
172
+ this .materialTapTargetSize,
167
173
this .title,
168
174
this .subtitle,
169
175
this .isThreeLine = false ,
@@ -220,6 +226,20 @@ class RadioListTile<T> extends StatelessWidget {
220
226
/// ```
221
227
final ValueChanged <T ?>? onChanged;
222
228
229
+ /// The cursor for a mouse pointer when it enters or is hovering over the
230
+ /// widget.
231
+ ///
232
+ /// If [mouseCursor] is a [MaterialStateProperty<MouseCursor>] ,
233
+ /// [MaterialStateProperty.resolve] is used for the following [MaterialState] s:
234
+ ///
235
+ /// * [MaterialState.selected] .
236
+ /// * [MaterialState.hovered] .
237
+ /// * [MaterialState.disabled] .
238
+ ///
239
+ /// If null, then the value of [RadioThemeData.mouseCursor] is used.
240
+ /// If that is also null, then [MaterialStateMouseCursor.clickable] is used.
241
+ final MouseCursor ? mouseCursor;
242
+
223
243
/// Set to true if this radio list tile is allowed to be returned to an
224
244
/// indeterminate state by selecting it again when selected.
225
245
///
@@ -250,6 +270,45 @@ class RadioListTile<T> extends StatelessWidget {
250
270
/// Defaults to [ColorScheme.secondary] of the current [Theme] .
251
271
final Color ? activeColor;
252
272
273
+ /// The color that fills the radio button.
274
+ ///
275
+ /// Resolves in the following states:
276
+ /// * [MaterialState.selected] .
277
+ /// * [MaterialState.hovered] .
278
+ /// * [MaterialState.disabled] .
279
+ ///
280
+ /// If null, then the value of [activeColor] is used in the selected state. If
281
+ /// that is also null, then the value of [RadioThemeData.fillColor] is used.
282
+ /// If that is also null, then the default value is used.
283
+ final MaterialStateProperty <Color ?>? fillColor;
284
+
285
+ /// {@macro flutter.material.radio.materialTapTargetSize}
286
+ ///
287
+ /// Defaults to [MaterialTapTargetSize.shrinkWrap] .
288
+ final MaterialTapTargetSize ? materialTapTargetSize;
289
+
290
+ /// {@macro flutter.material.radio.hoverColor}
291
+ final Color ? hoverColor;
292
+
293
+ /// The color for the radio's [Material] .
294
+ ///
295
+ /// Resolves in the following states:
296
+ /// * [MaterialState.pressed] .
297
+ /// * [MaterialState.selected] .
298
+ /// * [MaterialState.hovered] .
299
+ ///
300
+ /// If null, then the value of [activeColor] with alpha [kRadialReactionAlpha]
301
+ /// and [hoverColor] is used in the pressed and hovered state. If that is also
302
+ /// null, the value of [SwitchThemeData.overlayColor] is used. If that is
303
+ /// also null, then the default value is used in the pressed and hovered state.
304
+ final MaterialStateProperty <Color ?>? overlayColor;
305
+
306
+ /// {@macro flutter.material.radio.splashRadius}
307
+ ///
308
+ /// If null, then the value of [RadioThemeData.splashRadius] is used. If that
309
+ /// is also null, then [kRadialReactionRadius] is used.
310
+ final double ? splashRadius;
311
+
253
312
/// The primary content of the list tile.
254
313
///
255
314
/// Typically a [Text] widget.
@@ -341,8 +400,13 @@ class RadioListTile<T> extends StatelessWidget {
341
400
onChanged: onChanged,
342
401
toggleable: toggleable,
343
402
activeColor: activeColor,
344
- materialTapTargetSize: MaterialTapTargetSize .shrinkWrap,
403
+ materialTapTargetSize: materialTapTargetSize ?? MaterialTapTargetSize .shrinkWrap,
345
404
autofocus: autofocus,
405
+ fillColor: fillColor,
406
+ mouseCursor: mouseCursor,
407
+ hoverColor: hoverColor,
408
+ overlayColor: overlayColor,
409
+ splashRadius: splashRadius,
346
410
);
347
411
Widget ? leading, trailing;
348
412
switch (controlAffinity) {
0 commit comments