flutter使用坑点记录

container点击失效

一般container点击,可能会在container外包一层 GestureDetector(),有时候你会发现点击事件无效或是只有点击了文字或图片之后才会触发点击事件

解决办法
1 为Container设置背景颜色
2GestureDetector的 behavior 属性设置为 opaque 或 translucent

GestureDetector的 behavior 属性解释
GestureDetector 的behavior处理事件的方式有以下三种:
HitTestBehavior.opaque、 HitTestBehavior.deferToChild、HitTestBehavior.translucent

HitTestBehavior.opaque 自己处理事件
HitTestBehavior.deferToChild child处理事件
HitTestBehavior.translucent 自己和child都可以接收事件

flutter生命周期相关

使用Navigator.pushNamed(context,“LoginPage”); 从页面A跳转到页面B A页面不会触发dispose()方法销毁
而跳转到B页面,会执行B页面的initstate(),使用Navigator.pop(context)或者回退键回到A页面,B页面会执行
dispose()销毁。

在这里插入图片描述
如上代码
在点击BottomNavigationBar底部BottomNavigationBarItem切换页面时候,每次切换都会触发页面重建销毁

软键盘弹起遮盖控件之后异常报错

如果是使用了Scaffold(),在Scaffold中添加如下属性代码:resizeToAvoidBottomInset: false 即可解决

resizeToAvoidBottomInset看flutter注解,Whether this scaffold is being displayed at the top of the screen.
是否显示在屏幕顶部,默认为true,即显示在屏幕顶部

Expanded 父控件最好是Row或者Coulm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
flutter_downloader是一个用于在Flutter应用程序中进行文件下载的插件。它提供了一种简单而强大的方式来管理和监控文件下载任务。 使用flutter_downloader,你可以轻松地添加文件下载功能到你的Flutter应用程序中。它支持多个平台,包括Android和iOS,并且提供了一组易于使用的API来管理下载任务。 要使用flutter_downloader,首先需要在你的Flutter项目中添加依赖。在pubspec.yaml文件中,添加以下内容: ``` dependencies: flutter_downloader: ^1.6.0 ``` 然后运行`flutter pub get`命令来获取依赖。 接下来,在你的代码中导入flutter_downloader包,并使用它来创建和管理下载任务。你可以使用`FlutterDownloader.enqueue`方法来创建一个下载任务,并传递下载链接、保存路径等参数。你还可以使用`FlutterDownloader.open`方法来打开已下载的文件。 以下是一个简单的示例代码,演示了如何使用flutter_downloader进行文件下载: ```dart import 'package:flutter/material.dart'; import 'package:flutter_downloader/flutter_downloader.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('File Downloader'), ), body: Center( child: RaisedButton( child: Text('Download File'), onPressed: () { _startDownload(); }, ), ), ), ); } void _startDownload() async { String url = 'https://example.com/file.pdf'; String savedDir = '/storage/emulated/0/Download'; await FlutterDownloader.enqueue( url: url, savedDir: savedDir, showNotification: true, openFileFromNotification: true, ); } } ``` 这是一个简单的示例,当用户点击按钮时,会触发文件下载任务。下载的文件将保存在指定的目录中,并且会显示下载通知。用户可以通过通知来打开已下载的文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值