当前位置: 首页 > article >正文

Flutter桌面应用开发之毛玻璃效果

目录

  • 效果
  • 实现方案
    • 依赖库
    • 支持平台
    • 实现步骤
    • 注意事项
    • 话题扩展

毛玻璃效果:毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同时减少细节的清晰度。

效果

在这里插入图片描述

实现方案

依赖库

flutter_acrylic

支持平台

Windows, macOS & Linux

实现步骤

  1. 在pubspec.yaml中添加依赖
 dependencies:
	  ...
	  flutter_acrylic: ^1.1.3
  1. 在main函数中初始化插件
Future<void> main() async {
  ....
  WidgetsFlutterBinding.ensureInitialized();
  await Window.initialize();
  ....
  runApp(const MyApp());
}
  1. 使用毛玻璃效果

毛玻璃效果配置选项:
WindowEffect.acrylic:Windows 10 1803 及以上版本
WindowEffect.aero:Windows 10 1803以下版本

Future<void> _applyAcrylicV1() async {
 
  Color color =
  Platform.isWindows ? const Color(0xb3ffffff) : Colors.transparent;
  //effect:背景效果
  //color:毛玻璃背景颜色及透明度
  //dark:是否是暗色模式
  await Window.setEffect(effect: WindowEffect.acrylic, color: color, dark: true);
}
  1. 配置Scaffold的背景颜色为透明
Scaffold(
  backgroundColor: Colors.transparent,
  ...
);

注意事项

1.必须配置Scaffold的背景颜色为透明,否则毛玻璃效果无法出现,如下图
在这里插入图片描述

  1. Windows不同版本必须选择对应的配置选项,否则会有性能问题。如在Windows 10 1803以下版本使用WindowEffect.acrylic,拖动窗口会严重卡顿;
  2. 开发环境为Window 10时,已运行程序点击Run重新运行,会导致毛玻璃效果异常,显示FlutterWindow的边框和标题栏;

(1)Flutter Hot Reload不会导致该问题;
(2)Release 版本不存在该问题;
(3)开发环境为Window11不存在该问题;

在这里插入图片描述

在这里插入图片描述

话题扩展

1.如何获取Windows版本?
Windows不同版本必须选择对应的配置选项,那又如何获取Windows版本了?
2. 如何去掉窗口标题栏?

(1)标题栏不美观,想去掉怎么办?
(2)有需求需要在标题栏新增功能怎么办?

在这里插入图片描述

  1. 开发环境为Window 10的情况下,如何规避毛玻璃效果下显示FlutterWindow的边框和标题栏?

(1)就是关闭程序,重新运行即可;
(2)从控制FlutterWindow边框和标题栏方面探索

在这里插入图片描述


http://www.kler.cn/a/146560.html

相关文章:

  • 【混合开发】CefSharp+Vue 解决Cookie问题
  • 神经网络基础-价格分类案例
  • Multi-Agent如何设计
  • Docker--Docker Compose(容器编排)
  • BI 是如何数据分析的?
  • 【Vue3 入门到实战】3. ref 和 reactive区别和适用场景
  • Google codelab WebGPU入门教程源码<4> - 使用Uniform类型对象给着色器传数据(源码)
  • C#,《小白学程序》第一课:初识程序,变量,数据与显示
  • 时间序列预测 — LSTM实现多变量多步负荷预测(Keras)
  • 【计算机基础】通过插件plantuml,实现在VScode里面绘制状态机
  • Linux C语言 27-递归
  • 【多线程】-- 04 静态代理模式
  • 蓝桥杯每日一题2023.11.25
  • pop链反序列化 [MRCTF2020]Ezpop1
  • AIGC系列之:Transformer原理及论文解读
  • MacOS “xxxxx“,已损坏,无法打开,你应该将它移到废纸篓
  • 【前沿技术了解】web图形Canvas、svg、WebGL、数据可视化引擎的技术选型
  • 【03】命令行与环境变量
  • MySQL基本SQL语句(上)
  • github国内访问小解(windows)
  • openpnp - 给底部相机加防尘罩
  • mysql常见的十种错误简要说明
  • ElasticSearch02
  • 羊大师:控制血糖,让你的健康更美好
  • 十四、机器学习进阶知识:KNN分类算法
  • @RequestMapping,@GetMapping,@PostMapping 的区别(详解)