颤动代码会继续切换图片,直到您释放屏幕为止 [英] Flutter code that continues to switch pics until you release screen

查看:106
本文介绍了颤动代码会继续切换图片,直到您释放屏幕为止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想制作一个示例应用程序,

i wanted to make a sample app,

它将从图片1切换到 长按图2时 然后放开,它将切换到图片3,然后切换回1,

where it will switch from pic 1, when longpressed to pic 2, then released it will switch to pic 3, then switch back to 1,

我创建了一个示例代码,但是我使用手势检测器无法正常工作,只是停留在图片1上,

i have created a sample code, didnt work on my end using gesturedetector, it just stays on pic 1,

String image;

class unostate extends State<uno> {

  @override
  Widget build(BuildContext context) {

    return Center(
      child: GestureDetector(
        child: Image.asset(
          image = "assets/11.png",
          fit: BoxFit.none,
        ),
        onTapDown: (_){
          setState(() {
            image = "assets/12.png";
          });
        },
        onTapUp: (_){
          setState(() {
            image = "assets/13.png";
          });
        },
      ),
    );

  }

}

推荐答案

类似的东西(未经测试的代码):

Something like that (not tested code):

String image;

class unostate {
  final allImages = ['assets/11.png', 'assets/12.png'];
  String currentImage;

  String getImagem(){
    allImages.forEach((String imageName){
      if(currentImage != imageName){
        //return a difrente image
        return imageName;
      }
    });
    //if not found, return a default image name
    return allImages[0];
  }

  @override
  Widget build(BuildContext context) {

    return Center(
      child: GestureDetector(
        child: Image.asset(
          image = currentImagem,
          fit: BoxFit.none,
        ),
        onTapDown: (_){
          setState(() {
            currentImage = getImagem();
          });
        },
      ),
    );

  }

}

这篇关于颤动代码会继续切换图片,直到您释放屏幕为止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆