Flutter阴影效果插件simple_shadow的使用

Flutter阴影效果插件simple_shadow的使用

simple_shadow 是一个用于为任何Flutter小部件添加可自定义阴影效果的插件。通过这个插件,你可以轻松地为你的应用中的元素添加阴影,以增强视觉效果。

快速开始

1. 导入插件

首先,在你的Dart文件中导入 simple_shadow 插件:

import 'package:simple_shadow/simple_shadow.dart';

2. 使用SimpleShadow小部件

SimpleShadow 小部件可以包裹任何其他小部件,并为其添加阴影效果。以下是一个简单的示例,展示了如何为一个图片添加阴影:

SimpleShadow(
  child: Image.asset('images/bird.png'), // 要添加阴影的子小部件
  opacity: 0.6,         // 阴影的透明度,默认值为0.5
  color: Colors.blue,   // 阴影的颜色,默认值为黑色
  offset: Offset(5, 5), // 阴影的偏移量,默认值为Offset(2, 2)
  sigma: 7,             // 阴影的模糊半径,默认值为2
)

示例效果

以下是不同参数设置下的阴影效果示例:

默认效果

默认效果

颜色为蓝色

通过设置 color 参数为 Colors.blue,可以将阴影颜色更改为蓝色:

颜色为蓝色

不透明度为1

通过设置 opacity 参数为 1,可以使阴影完全不透明:

不透明度为1

模糊半径为10

通过设置 sigma 参数为 10,可以增加阴影的模糊程度:

模糊半径为10

偏移量为Offset(10, 10)

通过设置 offset 参数为 Offset(10, 10),可以将阴影向右下方移动10个像素:

偏移量为Offset(10, 10)

完整示例代码

以下是一个完整的Flutter应用程序示例,展示了如何使用 simple_shadow 插件为多个小部件添加不同的阴影效果:

import 'package:flutter/material.dart';
import 'package:simple_shadow/simple_shadow.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('SimpleShadow 示例'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              // 默认阴影效果
              SimpleShadow(
                child: Container(
                  width: 100,
                  height: 100,
                  color: Colors.red,
                ),
                opacity: 0.5,
                color: Colors.black,
                offset: Offset(2, 2),
                sigma: 2,
              ),
              SizedBox(height: 20),

              // 蓝色阴影
              SimpleShadow(
                child: Container(
                  width: 100,
                  height: 100,
                  color: Colors.green,
                ),
                opacity: 0.6,
                color: Colors.blue,
                offset: Offset(5, 5),
                sigma: 7,
              ),
              SizedBox(height: 20),

              // 完全不透明的阴影
              SimpleShadow(
                child: Container(
                  width: 100,
                  height: 100,
                  color: Colors.yellow,
                ),
                opacity: 1.0,
                color: Colors.black,
                offset: Offset(3, 3),
                sigma: 5,
              ),
              SizedBox(height: 20),

              // 大模糊半径的阴影
              SimpleShadow(
                child: Container(
                  width: 100,
                  height: 100,
                  color: Colors.purple,
                ),
                opacity: 0.8,
                color: Colors.grey,
                offset: Offset(4, 4),
                sigma: 10,
              ),
              SizedBox(height: 20),

              // 大偏移量的阴影
              SimpleShadow(
                child: Container(
                  width: 100,
                  height: 100,
                  color: Colors.orange,
                ),
                opacity: 0.7,
                color: Colors.black,
                offset: Offset(10, 10),
                sigma: 5,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter阴影效果插件simple_shadow的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter阴影效果插件simple_shadow的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter项目中使用simple_shadow插件来实现阴影效果的代码示例。simple_shadow是一个轻量级的Flutter插件,用于在组件周围添加阴影效果。

首先,你需要在你的pubspec.yaml文件中添加simple_shadow依赖:

dependencies:
  flutter:
    sdk: flutter
  simple_shadow: ^x.y.z  # 替换为最新版本号

然后运行flutter pub get来安装该依赖。

接下来,你可以在你的Flutter项目中使用SimpleShadow包装器来为你的组件添加阴影效果。以下是一个完整的示例代码:

import 'package:flutter/material.dart';
import 'package:simple_shadow/simple_shadow.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Simple Shadow Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Simple Shadow Demo'),
      ),
      body: Center(
        child: SimpleShadow(
          color: Colors.black.withOpacity(0.3),  // 阴影颜色
          offset: Offset(2, 2),                  // 阴影偏移量
          blur: 10,                              // 阴影模糊半径
          spread: 0,                             // 阴影扩展半径
          child: Container(
            width: 200,
            height: 100,
            color: Colors.blue,
            alignment: Alignment.center,
            child: Text(
              'Hello, Simple Shadow!',
              style: TextStyle(color: Colors.white, fontSize: 20),
            ),
          ),
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用程序,其中包含一个带有阴影效果的容器。我们使用了SimpleShadow包装器,并通过其构造函数参数来设置阴影的颜色、偏移量、模糊半径和扩展半径。

  • color:设置阴影的颜色。这里我们使用了半透明的黑色。
  • offset:设置阴影的偏移量。这里我们使用了Offset(2, 2),表示阴影在水平和垂直方向上分别偏移2个单位。
  • blur:设置阴影的模糊半径。这里我们使用了10,表示阴影有一定的模糊效果。
  • spread:设置阴影的扩展半径。这里我们使用了0,表示阴影不扩展。

通过调整这些参数,你可以轻松地自定义阴影效果以适应你的应用需求。

希望这个示例对你有所帮助!

回到顶部