颤振 LinearGradient 透明到白色覆盖

flutter LinearGradient transparent to white overlay

我正在尝试制作一个从透明逐渐变为白色的容器。我会把它放在东西上面,这样看起来后面的内容正在逐渐消失到背景的白色中。

当我尝试使用 LinearGradient 执行此操作时,我得到了这个奇怪的灰色。

Widget body() => Stack(
  children: [
    MyFormWidget(),
    Container(
      decoration: BoxDecoration(
        gradient: LinearGradient(
          begin: Alignment.topCenter,
          end: Alignment.bottomCenter,
          colors: [Colors.transparent, Colors.white])))]);

这是怎么回事?

我尝试了 ShaderMask,但这只适用于 children,我不想将页面内容包含为 children,因为我只想将其应用于一个屏幕的一部分。

如何在堆栈顶部制作一个简单的透明-> 白色 Fad 容器?

Colors.transparent 替换为 Colors.white.withOpacity(0.0)

我遇到了同样的问题, 你应该使用不同深浅的白色渐变来制作淡入淡出的效果。

试试这个:

Container(
            decoration: const BoxDecoration(
              gradient: LinearGradient(
                begin: Alignment.topCenter,
                end: Alignment.bottomCenter,
                stops: [
                  0.2,
                  0.5,
                  0.7,
                  0.6,
                ],
                colors: [
                  Colors.transparent,
                  Colors.white10,
                  Colors.white54,
                  Color.fromARGB(190, 255, 255, 255),
                ],
              ),
            ),
          )

您可以更改

中的值