https://i.stack.imgur.com/NmkxE.jpg 在此处输入图像描述 如何在单击 2~3 个切换按钮时更改图像这就是我想要做的。示例中包含 9cat 图片。
我想加载猫图像(总共 9 张猫图像)//单击房间 1 按钮,猫 1 按钮 -> 加载猫 1 图像 // room1 按钮,猫 2 按钮 - > 加载猫 2 图像 ...单击房间 3,猫 3 按钮 -> 加载猫 9 图像 进入图像此处描述 此处 输入代码
import '123.dart';
import '456.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('imageToggle'),),
body: Column(
children: [
Expanded(child: Image.asset('images/meow.jpg')),
Button123(),
Button456(),
],
),
),
);
}
}
class Button123 extends StatefulWidget {
@override
_Button123State createState() => _Button123State();
}
class _Button123State extends State<Button123> {
List<bool> isSelected = List.generate(3, (index) => false);
@override
Widget build(BuildContext context) {
return Container(
height: 40,
child: ToggleButtons(
isSelected: isSelected,
color: Colors.black,
fillColor: Colors.grey,
children: [
Padding(padding: const EdgeInsets.symmetric(horizontal: 2),
child: Text('room1'),),
Padding(padding: const EdgeInsets.symmetric(horizontal: 2),
child: Text('room2'),),
Padding(padding: const EdgeInsets.symmetric(horizontal: 2),
child: Text('room3'),),
],
onPressed: (int newIndex) {
setState(() {
for (int index = 0; index < isSelected.length; index++) {
if (index == newIndex) {
isSelected[index] = true;
} else {
isSelected[index] = false;
}
}
});
},
)
);
}
}