Flutter界面美化插件glossy的使用

发布于 1周前 作者 wuwangju 来自 Flutter

Flutter界面美化插件glossy的使用

概述

glossy 是一个Flutter插件,允许你轻松地在你的Flutter应用中创建玻璃形态(glass morphism)效果。玻璃形态是一种设计趋势,涉及使用模糊、半透明的元素来创造类似磨砂玻璃的效果。

安装

要使用这个包,请在 pubspec.yaml 文件中添加 glossy 作为依赖项:

dependencies:
  flutter:
    sdk: flutter
  glossy: ^0.0.5

或者,在项目级别的终端中运行以下命令:

flutter pub add glossy

使用示例

你可以使用此包提供的 GlossyContainer 小部件来创建玻璃形态效果。下面是一个基本的例子:

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

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        backgroundColor: Colors.black,
        appBar: AppBar(
          title: const Text('Glass Morphism Example'),
        ),
        body: Center(
          child: SizedBox(
            width: 300,
            height: 300,
            child: Stack(
              children: [
                Container(
                  height: 140,
                  width: 140,
                  decoration: BoxDecoration(
                      color: Colors.purple,
                      borderRadius: BorderRadius.circular(70)),
                ),
                Align(
                  alignment: Alignment.bottomRight,
                  child: Container(
                    height: 140,
                    width: 140,
                    decoration: BoxDecoration(
                        color: Colors.purple,
                        borderRadius: BorderRadius.circular(70)),
                  ),
                ),
                Align(
                  alignment: Alignment.center,
                  child: GlossyContainer(
                    width: 200,
                    height: 200,
                    borderRadius: BorderRadius.circular(12),
                    child: const Center(
                      child: Text(
                        'Glass Morphism',
                        style: TextStyle(
                          fontSize: 20,
                          fontWeight: FontWeight.bold,
                          color: Colors.white,
                        ),
                      ),
                    ),
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}

参数说明

  • width: 容器的宽度,必需。
  • height: 容器的高度,必需。
  • borderRadius: 容器的圆角半径。
  • blur: 应用于容器的模糊量。
  • child: 放置在玻璃容器内的小部件。
  • color: 容器的背景颜色。
  • opacity: 容器的不透明度。
  • strengthX: 水平方向上的模糊强度。
  • strengthY: 垂直方向上的模糊强度。
  • border: 容器的边框。
  • blendMode: 应用滤镜时的混合模式。
  • gradient: 容器的渐变色。
  • boxShadow: 容器的阴影。
  • image: 容器的背景图像。
  • imageOpacity: 背景图像的不透明度。

支持与反馈

如果你觉得这个项目有帮助,并希望支持其开发,可以通过社交媒体与我联系:

你的支持和反馈将大大有助于进一步改进这个项目。


更多关于Flutter界面美化插件glossy的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter界面美化插件glossy的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用glossy插件来实现界面美化的代码示例。glossy插件主要用于为Flutter应用添加光泽效果,从而提升界面的视觉效果。

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

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

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

接下来,我们来看一个如何在Flutter应用中使用glossy插件的示例。

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

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

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

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Glossy Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            // 普通按钮
            ElevatedButton(
              onPressed: () {},
              child: Text('普通按钮'),
            ),
            SizedBox(height: 20),
            // 添加光泽效果的按钮
            GlossyButton(
              onPressed: () {},
              child: Text('光泽按钮'),
              color: Colors.blue,
              borderRadius: BorderRadius.circular(20),
              elevation: 10,
              spreadRadius: 20,
              blurRadius: 20,
            ),
            SizedBox(height: 20),
            // 添加光泽效果的容器
            GlossyContainer(
              color: Colors.red,
              child: Center(
                child: Text('光泽容器'),
              ),
              borderRadius: BorderRadius.circular(20),
              elevation: 10,
              spreadRadius: 20,
              blurRadius: 20,
            ),
          ],
        ),
      ),
    );
  }
}

在这个示例中,我们创建了三个组件:一个普通的ElevatedButton,一个使用GlossyButton创建的带有光泽效果的按钮,以及一个使用GlossyContainer创建的带有光泽效果的容器。

GlossyButton

GlossyButton接受多个参数,包括:

  • onPressed:按钮点击事件处理函数。
  • child:按钮内的子组件,通常是文本。
  • color:按钮的背景颜色。
  • borderRadius:按钮的圆角半径。
  • elevation:光泽效果的高度。
  • spreadRadius:光泽效果的扩散半径。
  • blurRadius:光泽效果的模糊半径。

GlossyContainer

GlossyContainer也接受类似的参数:

  • color:容器的背景颜色。
  • child:容器内的子组件。
  • borderRadius:容器的圆角半径。
  • elevation:光泽效果的高度。
  • spreadRadius:光泽效果的扩散半径。
  • blurRadius:光泽效果的模糊半径。

你可以根据需要调整这些参数来达到你想要的视觉效果。这个示例展示了如何在Flutter应用中使用glossy插件来美化界面。希望这对你有所帮助!

回到顶部