Flutter 为什么着色器遮罩不能在颤振web上工作?
下面是我正在尝试的代码:Flutter 为什么着色器遮罩不能在颤振web上工作?,flutter,flutter-web,Flutter,Flutter Web,下面是我正在尝试的代码: ShaderMask( shaderCallback: (rect) { return LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [Colors.black, Colors.transparent],
ShaderMask(
shaderCallback: (rect) {
return LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [Colors.black, Colors.transparent],
).createShader(Rect.fromLTRB(0, 0, rect.width, rect.height));
},
blendMode: BlendMode.dstIn,
child: Image.asset('assets/image.jpg'),
),
我以前已经使用过着色器遮罩,所以我知道它可以在安卓IOS上使用。以下是结果(正确的一个):
但这是我在Flatter web上尝试相同代码时得到的结果:
我是做错了什么,还是这是一个来自颤振方面的问题?这是一个颤振的web端问题,有解决方法吗?我想达到上面的android效果。(图像从下方淡出)。
它在颤振2.2 beta频道中对我有效。检查您是否使用的是颤振2.21的最新版本。 如果没有,则使用下面的命令
flutter upgrade
在FlatterWeb更新中,他们对web进行了改进。他们增加了对着色器掩码和computeLineMetrics的支持,解决了Flatter web和移动应用程序之间的奇偶性差距。例如,您现在可以使用不透明度遮罩使用着色器遮罩执行淡出过渡,并使用computeLineMetrics,就像它们用于移动应用一样