在Android中,图片选择,可以在xml文件中,设置select和normal属性即可,那么在flutter中呢?
上图效果演示代码:
class DeviceRobortPageState extends State<DeviceRobortPage>{
int _imgIndex = 0;
var showImages ;
Image getTabImage(path) {
return new Image.asset(path, width: 150.0, height: 130.0);
}
@override
void initState() {
super.initState();
showImages= [
[getTabImage('assets/image/ic_yang_normal.png'),
getTabImage('assets/image/ic_yang_select.png')],
[getTabImage('assets/image/ic_ce_normal.png'),
getTabImage('assets/image/ic_ce_select.png')],
];
}
Image getSleepIcon(int curIndex) {
if (curIndex == _imgIndex) {
return showImages[curIndex][1];
}
return showImages[curIndex][0];
}
@override
Widget build(BuildContext context) {
return new Column(
children: <Widget>[
new Text('睡姿示意图'),
new Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
getSleepIcon(0),
Padding(padding: EdgeInsets.all(5)),
getSleepIcon(1)
],
)
],
);
}
}
在需要切换的时候,在对应的地方调用:setState(){getSleepIcon(index)}
,另外,注意_imgIndex
的赋值。