我正在使用 flutter_swiper 在我的flutter应用程序中滑动图像。我想在按下按钮时关闭该滑动器,所以如何在现有代码中做到这一点?
这是我的代码:
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
var eImage = [
"img/eyes/1.png",
"img/eyes/2.png",
"img/eyes/3.png",
];
double height = 200;
int itemNo;
double eh = 200;
double ew = 200;
double nh = 100;
double nw = 300;
double lh = 100;
double lw = 100;
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("img/wal.jpg"),
fit: BoxFit.fill,
),
),
child: Container(
child: Stack(
children: <Widget>[
Align(
alignment: Alignment(0, -0.6),
child: Container(
width: ew,
height: eh,
//color: Colors.purple,
child: new SizedBox(
child: Swiper(
itemBuilder:
(BuildContext context, int index) {
return Image.asset(
eImage[index],
);
},
itemCount: eImage.length,
itemWidth: 200,
itemHeight: 200,
control: new SwiperControl(),
layout: SwiperLayout.DEFAULT,
customLayoutOption: CustomLayoutOption(
startIndex: 1, stateCount: 3) ///<--- here i am trying to start from 1st index
.addRotate([
0 / 180,
0.0,
0 / 180
]).addTranslate([
Offset(-400.0, 0.0),
Offset(0.0, 0.0),
Offset(370, -40.0),
]),
),
height: 200,
width: 350,
),
),
),
],
),
))));
}
}
在此代码中,我能够从列表中滑动图像,但是我想在按下按钮(代码中未提供)时将其禁用,因此,如何在按钮单击时动态切换此滑动器的打开/关闭?
答案 0 :(得分:0)
只需使用吸收指针在触摸之前就消耗触摸
Stack(
children: <Widget>[
TheSwiperWidget(),
AbsorbPointer(
absorbing: _disabled,
),
],
)
并在您的按钮中更改状态
FlatButton(
onPressed: (){
setState(() {
_disabled = !=_disabled;
});
}, child: Text('Disable'),
)