如何使 image/widget 的某些部分透明,如屏幕截图所示

How to make some parts of an image/widget transparent as shown in the screenshots

我想使用 LinearGradient 渐变使最后的图像或小部件透明。 老实说,我不太确定该怎么做,因为我只知道如何使用不透明度小部件使整个 image/widget 透明。

谁能帮我大概说一下,怎么做?#

[]

[]

最后答案很简单,因为已经有一个小部件可用于此任务。小部件名称是 ShadowMask。

这是使我能够获得上述效果的代码部分。

return ShaderMask(
        shaderCallback: (rect) => LinearGradient(
          begin: Alignment.topCenter,
          end: Alignment.bottomCenter,
          colors: [Colors.white, Colors.white.withOpacity(.2), Colors.transparent],
          stops: [.6,.8, .9],
        ).createShader(rect),
        child: ...

根据您想要实现此效果的程度,您可以更改颜色或停止。