Flutter中GridTile中图像上方的InkVell波纹以及flutter analyse的使用

简介: Flutter中GridTile中图像上方的InkVell波纹我认为这是在图像上显示波纹效果的更好方法。

Flutter中GridTile中图像上方的InkVell波纹

我认为这是在图像上显示波纹效果的更好方法。

Ink.image(
    image: AssetImage('sample.jpg'),
    fit: BoxFit.cover,
    child: InkWell(
        onTap: () {},
    ),
),
复制代码

使用Stack,我们可以将Material和InkWell带到图像上。要拉伸材质,我们将使用Positioned.fill小部件。

Stack(
  children: <Widget>[
    Image( ... ),
    Positioned.fill(
      child: Material(
        color: Colors.transparent,
        child: InkWell(
          onTap: () { ... },
        ),
      ),
    ),
  ],
);
复制代码

我们创建了这个简单的小部件,以在任何给定孩子的上方绘制墨水反应。

class InkWrapper extends StatelessWidget {
  final Color splashColor;
  final Widget child;
  final VoidCallback onTap;
  InkWrapper({
    this.splashColor,
    @required this.child,
    @required this.onTap,
  });
  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        child,
        Positioned.fill(
          child: Material(
            color: Colors.transparent,
            child: InkWell(
              splashColor: splashColor,
              onTap: onTap,
            ),
          ),
        ),
      ],
    );
  }
}
复制代码
  • 优秀的方法。即使在AspectRatio下也可以使用。如果可以使用FadeInImage会更好。
SizedBox(
  height: 200,
  child: Ink(
    decoration: BoxDecoration(
      image: DecorationImage(
        image: ExactAssetImage("chocolate_image"),
        fit: BoxFit.cover,
      ),
    ),
    child: InkWell(
      onTap: () {},
      splashColor: Colors.brown.withOpacity(0.5),
    ),
  ),
)
复制代码
Material(  
  child : InkWell(          
      child : YourWidget    
  )      
)
复制代码

flutter analyse

配置步骤

  • 在项目更目录添加analysis_options.yaml文件可以配置lint规则和analyzer行为
  • 具体支持的lint规则参考dart-lang.github.io/linter/lint…
  • 目前有3类已经定义的常用规则

Many lints are included in various predefined rulesets:

  • 推荐使用google团队内部的规则库pedantic
  • 在yaml里面添加依赖 pedantic: ^1.8.0+1
  • analysis_options.yaml里面引入使用

include: package:pedantic/analysis_options.1.8.0.yaml

使用

配置好analysis_options.yaml文件的规则后,执行flutter analyse命令将对你整个项目或者package的代码进行静态分析

修复

  • 根据提示修复

点击提示的规则,就会跳转到需要修复位置,按照lint规则的说明和例子就可以修正了。

网络异常,图片无法展示
|

  • 利用VSCode快速修复

在提示有问题的代码的地方Ctrl +., 就会自动弹出快速修复,比如图中为增加const标识。 是不是快多了。

网络异常,图片无法展示
|
网络异常,图片无法展示
|

参考配置

当然你还可以根据你的需要定制自己的静态分析规则,下面是最近使用的一套配置,仅供你参考:

analysis_options.yaml参考配置



相关文章
|
10月前
|
存储 移动开发 前端开发
flutter系列之:做一个图像滤镜
很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。 那么如果在flutter中,如果要实现这样的滤镜功能应该怎么处理呢?一起来看看吧。
|
存储 IDE 测试技术
在 Flutter 中构建图像选择器【Flutter 专题 9】
什么是 Flutter 中的image_picker? 在 Flutter 中从头开始编写图片选择器小部件会很乏味。Flutter 带有一个图片选择器插件,用于从设备图库中选择图片或从相机拍摄新照片。
894 0
在 Flutter 中构建图像选择器【Flutter 专题 9】
|
Android开发 iOS开发
在 Flutter App 中使用相机和图库/照片选取图像
在 Flutter App 中添加图像选取器 — 使用相机和图库/照片选取图像 图像选择器是我们经常需要的用户配置文件和其他内容的常见组件。我们将使用此插件。 步骤 1 — 将依赖项添加到pubspec.yaml文件。
474 0
在带有背景图像的Flutter中拉动以刷新
本文主要介绍在带有背景图像的Flutter中拉动以刷新 拉动刷新”是显示动态数据列表的移动应用程序的常见任务。今天我们将使用 pull_to_refresh 包实现 pull to refresh 并利用 Slivers 创建一个自定义的 Collapsible 标头
255 0
|
存储 缓存
Flutter中更快地加载您的图像资源
本文主要介绍在Flutter中更快地加载您的图像资源 我们可以将图像放在我们的资产文件夹中,但如何更快地加载它们?这是 Flutter 中的一个秘密函数,可以帮助我们做到这一点 — precacheImage()
127 0
|
Dart 开发者
【Flutter】Image 组件 ( 内存加载 Placeholder | transparent_image 透明图像插件 )
【Flutter】Image 组件 ( 内存加载 Placeholder | transparent_image 透明图像插件 )
268 0
【Flutter】Image 组件 ( 内存加载 Placeholder | transparent_image 透明图像插件 )
|
缓存
在Flutter中更快地加载您的图像资源
我们可以将图像放在我们的资产文件夹中,但如何更快地加载它们?这是 Flutter 中的一个秘密函数,可以帮助我们做到这一点 — precacheImage()
177 0
在Flutter中更快地加载您的图像资源
|
Dart 开发者
Flutter 压缩图像的最佳方式
引言 作为开发者的我们,经常会做一些上传图片和和保存图片啦的功能,但是由于一些图片非常大,我们在上传或者保存的时候会占用大量的网络资源和本地资源,那么我们需要做的就是对图片进行压缩。
1169 0
|
容器
如何在 Flutter 中设置背景图像【Flutter 专题 15】
本教程将向您展示如何在 Flutter 中设置背景图像。 在 Flutter 应用程序中设置背景图像的常用方法是使用DecorationImage. 以下示例包括如何设置 Fit 模式、透明度以及在显示键盘时防止图像变化。 设置背景图像使用 DecorationImage 您可能已经熟悉Container小部件。Container 的构造函数有一个名为decoration的参数,用于在 child 后面绘制装饰。对于该参数,您需要传递一个Decoration值。Flutter 中有一些Decoration类。其中一些,例如BoxDecorationand ShapeDecoration,允
942 0
如何在 Flutter 中设置背景图像【Flutter 专题 15】
|
前端开发 JavaScript API
Flutter图像绘制原理深入分析
本文章将讲述 CPU、GPU和显示器 显示图像的协作原理、Vsync 机制、Flutter Vsync 流程
Flutter图像绘制原理深入分析