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

效果

在这里插入图片描述

实现方案

依赖

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边框标题栏方面探索

在这里插入图片描述

原文地址:https://blog.csdn.net/qq_26585943/article/details/134625159

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_16601.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注