I have this Align
Widget where I show a list item.
class _BackgroundState extends State<Background> {
final List<Widget> list = [
Text("1"),
Text("2"),
Text("3"),
];
int i = 0;
@override
Widget build(BuildContext context){
return Stack(
children:[
Align(alignment: Alignment.center, child: list[i],
BottomMenu()
]);
}
}
BottomMenu is StatelessWidget
contains multiple CustomBottomIcon
Widgets that return a GestureDetector
.
class _CustomBottomIconState extends State<CustomBottomIcon> {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
//
setState(() {});
},
child: Container(
decoration: BoxDecoration(
color: Colors.indigo,
borderRadius: BorderRadius.circular(100),
),
height: MediaQuery.of(context).size.height / 20,
width: MediaQuery.of(context).size.height / 20,
child: Icon(
widget.icon,
color: Colors.white,
),
),
);
}
}
Note that the index i
is not visible in the child widget. How can I change the state of i
?
Is it enough to rebuild the list item?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…