如何在带有变换的颤振中使用LinearGradient?

时间:2020-01-30 13:16:02

标签: flutter dart flutter-layout flutter-animation

如何在带有变换的颤振中使用LinearGradient?

decoration: BoxDecoration( gradient: LinearGradient( colors: [Colors.black, Colors.white], begin: Alignment.topCenter, end: Alignment.bottomCenter, transform: ???, ) ),

1 个答案:

答案 0 :(得分:2)

您可以使用GradientRotation类,它扩展了GradientTransform类。它以弧度角作为参数,并沿顺时针方向旋转shader

以下是GradientRotation的示例:

Container(
        padding: const EdgeInsets.all(15),
        child: Text(title,
            style: TextStyle(
                fontFamily: 'RobotoCondensed',
                fontSize: 20,
                color: Colors.white)),
        width: 100,
        height: 100,
        decoration: BoxDecoration(
          gradient: LinearGradient(
            transform: GradientRotation(pi/2),
            colors: [
              color.withOpacity(0.5),
              color.withOpacity(0.55),
              color.withOpacity(0.65),
              color.withOpacity(0.75),
              color.withOpacity(0.85),
            ],
            begin: Alignment.centerRight,
            end: Alignment.bottomRight,
            stops: [0, 0.1, 0.2, 0.3, 0.4],
          ),
          borderRadius: BorderRadius.circular(15),
        ),

以下是GradientRoation应用程序的快照:

Without GradientRotation

With 90 degree rotation in clockwise direction

在第一张图片中,我没有使用GradientRotation;在第二张图片中,我已经传递了90度(pi/2弧度)作为参数,因此,它已沿顺时针方向旋转了90度。

尝试热重新加载您的应用程序,以查看在热重新启动失败时所做的更改。