custom_rb_cb.dart
2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import 'package:flutter/material.dart';
class CustomRb extends StatelessWidget {
const CustomRb({
super.key,
this.spacing = 5,
required this.child,
this.textDirection = TextDirection.ltr,
required this.value,
});
final Widget child;
final bool value;
final double spacing;
final TextDirection textDirection;
@override
Widget build(BuildContext context) {
return Directionality(
textDirection: textDirection,
child: Row(
textBaseline: TextBaseline.alphabetic,
crossAxisAlignment: CrossAxisAlignment.baseline,
children: [
Text.rich(
WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: Padding(
padding: EdgeInsetsDirectional.only(
start: spacing,
end: spacing,
),
child: Radio(
value: value,
groupValue: true,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
onChanged: (value) {},
),
),
),
),
Expanded(child: child),
],
),
);
}
}
class CustomCb extends StatelessWidget {
const CustomCb({
super.key,
this.spacing = 5,
required this.child,
this.textDirection = TextDirection.ltr,
required this.value,
});
final Widget child;
final bool value;
final double spacing;
final TextDirection textDirection;
@override
Widget build(BuildContext context) {
return Directionality(
textDirection: textDirection,
child: Row(
textBaseline: TextBaseline.alphabetic,
crossAxisAlignment: CrossAxisAlignment.baseline,
children: [
Text.rich(
WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: Padding(
padding: EdgeInsetsDirectional.only(
start: spacing,
end: spacing,
),
child: Checkbox(value: value, onChanged: (value) {}),
),
),
),
Expanded(child: child),
],
),
);
}
}