Flutter 带图像的Fatter自定义无线电小部件
我正在尝试创建一个带有图像的自定义无线电小部件。问题:假设我需要一个组中的图像,当用户单击它时,它会发生变化,以显示此特定按钮已激活。我如何实现这一点Flutter 带图像的Fatter自定义无线电小部件,flutter,dart,Flutter,Dart,我正在尝试创建一个带有图像的自定义无线电小部件。问题:假设我需要一个组中的图像,当用户单击它时,它会发生变化,以显示此特定按钮已激活。我如何实现这一点 class _RadioWidgetState extends State<RadioWidget> { int _radioValue = 0; void _handleRadio(int value) { setState(() { _radioValue = value; switch (
class _RadioWidgetState extends State<RadioWidget> {
int _radioValue = 0;
void _handleRadio(int value) {
setState(() {
_radioValue = value;
switch (_radioValue) {
case 0:
break;
case 1:
break;
case 0:
break;
}
});
}
@override
Widget build(BuildContext context) {
return Row(mainAxisAlignment: MainAxisAlignment.center, children: [
Expanded(
child: GestureDetector(
onTap: () => setState(() {
_radioValue = 0;
print(_radioValue);
_handleRadio(0);
}),
child: Container(child: Image.asset('assets/images/asset1.png')),
),
),
Expanded(
child: GestureDetector(
onTap: () => setState(() {
_radioValue = 1;
print(_radioValue);
}),
child: Container(child: Image.asset('assets/images/asset2.png')),
),
),
Expanded(
child: GestureDetector(
onTap: () => setState(() {
_radioValue = 2;
print(_radioValue);
}),
child: Container(child: Image.asset('assets/images/asset3.png')),
),
),
]);
}
}
class\u RadioWidgetState扩展状态{
int _radioValue=0;
void_handleRadio(int值){
设置状态(){
_放射性值=放射性值;
开关(_radioValue){
案例0:
打破
案例1:
打破
案例0:
打破
}
});
}
@凌驾
小部件构建(构建上下文){
返回行(mainAxisAlignment:mainAxisAlignment.center,子项:[
扩大(
儿童:手势检测器(
onTap:()=>设置状态(){
_放射性值=0;
打印(_radioValue);
_handleRadio(0);
}),
子:容器(子:Image.asset('assets/images/asset1.png'),
),
),
扩大(
儿童:手势检测器(
onTap:()=>设置状态(){
_放射性值=1;
打印(_radioValue);
}),
子:容器(子:Image.asset('assets/images/asset2.png'),
),
),
扩大(
儿童:手势检测器(
onTap:()=>设置状态(){
_放射性值=2;
打印(_radioValue);
}),
子:容器(子:Image.asset('assets/images/asset3.png'),
),
),
]);
}
}
使用_radioValue更改图像
child: Container(child: Image.asset(_radioValue == 0
? 'assets/images/asset1_selected.png'
: 'assets/images/asset1.png')
),