问题标签 [flutter-onpressed]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
310 浏览

flutter - Flutter / Dart:在小部件测试中点击AppBar小部件时未调用onPressed

我的问题是我有一个无状态小部件,它返回AppBar带有 onPressed 事件的 a。在我相应的 widgetTest 中,我点击组件并期望调用 onPressed 方法。然而,事实并非如此。

这是我的小部件:

在测试中,如果组件被点击,我会通过一个简单的 onPressed 测试来创建小部件。

改变tester.pump()tester.pumpAndSettle()没有改变任何东西。该方法未被调用。

在实际设备或模拟器中运行它,onPressed 按预期工作。

还有一个烟雾测试find.byType(IconAppBar)确实找到了这个小部件。

我真的很感激任何帮助或想法。谢谢!

编辑:似乎这不适用于IconButton. 我只是将其更改为以FlatButtonSVG 作为其子级的,这很好。

0 投票
1 回答
445 浏览

flutter - 如何将 notifyListeners 方法传递给 onPressed 按钮函数?

我有一个 LoginButtonProvider 类,该类有两个目的。

首先:一旦用户在两个文本表单字段中都键入了,它应该为我的 LoginButton 小部件提供一个 onPressed 方法。一旦将 onPressed 函数分配给按钮,该类就会调用 notifyListeners() 方法。

第二:一旦用户按下该按钮并调用 onPressed 方法,它应该在该按钮内创建一个旋转圆圈。一旦用户按下按钮,它还应该调用 notifyListeners() 以便将布尔标志 _isLoading 设置为 true。

问题是我不知道如何实现 onPressed 方法,以便在用户触发 onPressed 方法后让 Consumer 小部件重建自身。我认为一旦用户按下按钮,就永远不会调用 notifyListeners,因此旋转的圆圈永远不会出现在按钮上,但它应该! 我也尝试发送对 notifyListeners 方法的引用。在 onPressed 函数内调用 notifyListeners() 时,小部件不会自行重建。这是为什么?非常感谢您的帮助!

这是 LoginButtonProvider 类。

0 投票
1 回答
158 浏览

arrays - 如何在 Flutter 的索引中为单个图像添加 onTap?

问题:我在带有图像索引的网格内使用切换按钮。当用户点击不同的图像时,切换按钮起作用并用蓝色边框突出显示选定的图像,但它不会触发具有 OnPressed 或 OnTap 的选定图像的特定操作。

我的解决方案:我尝试将 onTap 或 OnPressed 添加到索引内的单个图像,但它显示“此表达式的类型为 'void',因此无法使用其值。” 并且不适用于打印语句。

0 投票
0 回答
135 浏览

image - 如何在 Flutter 中使用 OnTap 更改不同屏幕上的背景图像?

问题:

我有一个小图像的 GridView,当用户点击它们时,它需要在不同的屏幕上更改背景图像。

这是带有背景图像的主页屏幕:

这是 SmallImage 屏幕,用户可以在其中单击一个小图像,它会更改主页上的背景图像。然后背景图像将具有不同的图像,例如'defaultImage = Image.asset('images/background_image25.jpeg', fit: BoxFit.fill)'

0 投票
1 回答
526 浏览

image - 如何使用 Flutter 中的 Provider 包更改图像

问题:我单击“做某事”按钮,图像似乎无法从“你好”变为“再见”。返回的错误是

'错误:参数类型'Image'不能分配给参数类型'String'。

  • “图像”来自“package:flutter/src/widgets/image.dart”(“../../Development/flutter/packages/flutter/lib/src/widgets/image.dart”)。返回 Image.asset(myValue);'

是否可以将字符串更改为图像,以便读取图像并将其显示在屏幕上?

0 投票
1 回答
67 浏览

flutter - 为什么提供程序包不更改背景图像?

我已将提供程序包添加到我有两个屏幕的应用程序中。当用户单击应用程序上的小图像时,它会更改另一个屏幕上的主背景图像。我在两个屏幕上都调用了 Provider 和类,但它只是没有返回 Positioned.fill 中的“myValue”。

带有需要更改的背景图像的主页屏幕:

小图像屏幕,用户点击小图像以更改主页中的背景。

0 投票
1 回答
135 浏览

image - 为什么使用提供程序包不改变图像?

我正在使用 Flutter 上的 Provider Package,但无法弄清楚为什么我调用mymodel.image. 它应该访问 MyModal 类并更改现有图像: Image.asset('images/background_image.jpeg', fit: BoxFit.fill) 与 SmallImage 屏幕中的那个。

mymodel.image = Image.asset('images/hello_image.png', fit: BoxFit.fill);

它替换了主页上的背景图像。

主页屏幕

小图像屏幕

0 投票
2 回答
85 浏览

android - 方法没有按照 onPressed 中的书面顺序执行

我正在尝试使用一个简单的凸起按钮创建一个颤振应用程序,该按钮执行以下操作:

  1. 使用 sms 包在后台发送短信 打开网页 2. 在应用程序中(仅 5 秒)使用 url_launcher 打开手机 3. 使用 onPressed 属性进行语音通话的本机应用程序。

我希望它按照这个顺序,这样我就可以在最后打电话了。但是,onPressed 内部首先打开本机电话应用程序,除非我退出电话应用程序,否则我的网页不会打开。

我很难理解为什么首先打开电话本机应用程序,即使我仅在进行 _launchInApp(toLaunch) 调用后才调用 _makePhoneCall() 方法。sendSMS() 被正确调用

如何设置只有在应用程序中打开网页并遵循顺序后才调用电话本机应用程序?任何帮助都会很棒

下面是一段代码:

0 投票
0 回答
73 浏览

flutter - 如何使用 onPressed() 为喜欢的图标选择单个图像?

这是整个代码。我只是想让心形图标在被选为收藏时改变颜色,然后将保存的收藏项推送到保存的收藏页面。我不知道如何使用流生成器来做到这一点。

错误是:在此代码中,当我单击图像图标时,所有图像的图标都被选为收藏夹。

favimg.dart

错误是:在此代码中,当我单击图像图标时,所有图像的图标都被选为收藏夹。

0 投票
1 回答
29 浏览

flutter - GestureDetector 在滚动时不接收事件

我有一个 ListView,其中每个项目都有自己的 onTap 事件。如果我在列表空闲(不滚动)时点击一个项目,一切正常,但如果我在滚动动作后立即点击一个项目,则 GestureDetector 不会收到任何内容,这会使应用程序对快速导航的用户感到无响应. 有没有办法防止这种行为?