android - Flutter - 按下按钮进行刷卡
问题描述
所以我正在使用 TinderSwapCard,swipeCompleteCallback 运行良好,我只想添加 2 个按钮,通过按下按钮来获得相同的滑动动画。
我该怎么做?
提前致谢。
这是使用的代码:
new TinderSwapCard(
orientation: AmassOrientation.TOP,
swipeUp: false,
swipeDown: false,
totalNum: list.length,
stackNum: 4,
maxHeight: MediaQuery.of(context).size.width*1.7,
maxWidth: MediaQuery.of(context).size.width*0.9,
minHeight: MediaQuery.of(context).size.width*0.9,
minWidth: MediaQuery.of(context).size.width*0.6,
cardBuilder: (context,index)=>Card(
color: Colors.black,
child: Column(
children: [
new Image.asset(
list[index],
fit: BoxFit.fill,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
RawMaterialButton(
fillColor: Colors.white,
child: FaIcon(FontAwesomeIcons.times,size: 50.0,color: Colors.red,),
shape: CircleBorder(),
padding: const EdgeInsets.all(8.0),
onPressed: (){
//what to do here ?
},),
RawMaterialButton(
fillColor: Colors.white,
child: FaIcon(FontAwesomeIcons.solidHeart,size: 50.0,color: Colors.green,),
shape: CircleBorder(),
padding: const EdgeInsets.all(8.0),
onPressed: (){
//what to do here ?
},),
],
),
],
),
),
swipeCompleteCallback: (CardSwipeOrientation orientation,int index){
if (orientation == CardSwipeOrientation.LEFT){
print("left");
}
if (orientation == CardSwipeOrientation.RIGHT){
print("Right" );
}
}
);
解决方案
在您的构建方法上方添加:
CardController cardController = new CardController();
然后在您的 TinderSwapCard() 小部件中添加控制器:
TinderSwapCard(
cardController: cardController,
)
最后将其添加到您的按钮中:
RawMaterialButton(
fillColor: Colors.white,
child: Icon(Icons.delete, size: 50.0,color: Colors.red,),
shape: CircleBorder(),
padding: const EdgeInsets.all(8.0),
onPressed: (){
cardController.triggerLeft();
},
),
RawMaterialButton(
fillColor: Colors.white,
child: Icon(Icons.thumb_up,size: 50.0,color: Colors.green,),
shape: CircleBorder(),
padding: const EdgeInsets.all(8.0),
onPressed: (){
cardController.triggerRight();
},
),
推荐阅读
- google-apps-script - 在 Google Apps Script Web App 中传递和使用参数
- sql - PostgreSQL中的for循环调用API
- angular - 在 Angular 5 中观察一个函数
- html - CSS Flexbox 布局 - 3 列和 2 列互换
- python - 从 MongoDB 获取数据后,如何在将数据推送到 Kafka 的同时加快 Kafka 的速度?
- java - Log4j2 creating new file with distinct filename each time the JVM starts
- java - antlr4 switch 语句语法到访问者
- java - Why 8th decimal digit is recognized in 16_711_711f == 16_711_712f, shouldn't float have only 7 decimal digits precision?
- javascript - 用于金融应用程序的 Influxdb
- javascript - Vue CLI 3 sass-resources-loader - Options.loaders undefined