首页 > 其他分享 >flutter 中实现磨砂玻璃效果

flutter 中实现磨砂玻璃效果

时间:2022-11-06 22:37:45浏览次数:62  
标签:const 效果 height context child 磨砂玻璃 MediaQuery flutter

flutter 中实现磨砂玻璃效果

前言

磨砂玻璃效果是一个很酷的用户界面概念,使我们的用户界面看起来更有吸引力。它基本上是一个模糊的覆盖与减少不透明度,以区分或减少某一观点。这个功能看起来确实不错,但是它会影响应用程序的性能。

正文

那么,让我们看看如何在 Flutter 中实现磨砂玻璃效果。

编写代码

通过使用 BackdroFilter () widget 和 ImageFilter 类,可以非常容易地在 Flutter 中实现它。用于模糊图像、 container 或许多其他 widget 。它可以在 iOS 和 android 上运行。它用于突出需要更多焦点的内容,模糊需要较少焦点的内容。

创建一个 container 并使用 BackdroFilter 和 ClipRect 将其包装起来。现在添加背景滤镜的属性: ImageFilter.素,然后添加 sigmaX,sigmaY。SigmaX 和 sigmaY 越高,模糊度越高。

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

class FrostedGlassLookDemo extends StatefulWidget {
  const FrostedGlassLookDemo({super.key});
  @override
  @override_FrostedGlassLookDemoState
  createState() => _FrostedGlassLookDemoState();
}

class _FrostedGlassLookDemoState extends State<FrostedGlassLookDemo> {
  @override
  @overrideWidget
  build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.white,
      appBar: AppBar(
        elevation: 1,
        centerTitle: true,
        title: const Text("Frosted Glass Look Demo"),
        backgroundColor: Colors.blueGrey,
      ),
      body: Stack(
        children: [
          Center(
              child: Container(
            height: MediaQuery.of(context).size.height / 3,
            width: MediaQuery.of(context).size.width / 1,
            decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(20.0),
            ),
            child: const FlutterLogo(),
          )),
          Center(
            child: ClipRect(
              child: BackdropFilter(
                filter: ImageFilter.blur(sigmaX: 10.0, sigmaY: 10.0),
                child: Container(
                  height: MediaQuery.of(context).size.height / 3,
                  width: MediaQuery.of(context).size.width / 1.5,
                  decoration: BoxDecoration(
                      borderRadius: BorderRadius.circular(20.0),
                      color: Colors.grey.shade200.withOpacity(0.5)),
                  child: const Center(
                      child: Text(
                    "Glass Effect Container",
                    style: TextStyle(fontSize: 15),
                  )),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}

输出效果

注意: 我将这个 widget 块堆叠在一个 Image 上方,以查看工作效果。我用 Flutter 的标志作为一个图像。现在,我们可以看到我们的图像模糊效果。

结束语

如果本文对你有帮助,请转发让更多的朋友阅读。

也许这个操作只要你 3 秒钟,对我来说是一个激励,感谢。

祝你有一个美好的一天~


© 猫哥

本文由mdnice多平台发布

标签:const,效果,height,context,child,磨砂玻璃,MediaQuery,flutter
From: https://www.cnblogs.com/ducafecat/p/16864407.html

相关文章

  • Flutter 图表组件 charts_flutter_new
    Flutter图表插件charts_flutter_new前言也许你的项目中需要一个图标的插件,比如显示会员的消费情况。你可以看下charts_flutter_new这个插件是否合适。可以通过这......
  • 在 flutter 中使用枚举的技巧
    在flutter中使用枚举的技巧前言例如,不管是谁在Kotlin之后,再开发Dart都对它带来的种种限制感到失望。其中之一是枚举类。单独使用枚举值是可以的,但是还有别的吗?你......
  • 手机:手机网页版小视频。类似抖音效果
    <!DOCTYPEhtml><html><headrunat="server"><metaname="viewport"content="width=device-width,initial-scale=1.0,minimum-scale=1.0,user-scalable=no">......
  • 路由过渡效果
    歌手列表切换到歌手详情页在base.scss定义全局样式.slide-enter-active,.slide-leave-active{transition:all0.3s}.slide-enter-from,.slide-leave-to{......
  • 【视觉基础篇】12 # 如何使用滤镜函数实现美颜效果?
    说明【跟月影学可视化】学习笔记。如何理解像素化?像素化所谓像素化,就是把一个图像看成是由一组像素点组合而成的。每个像素点负责描述图像上的一个点,并且带有这个点的基本绘......
  • Thinkpad添加Dolby音效, 并增强该效果 - Windows
    如何添加Dolby音效由于重装系统的原因,之前的杜比音效没有了,那声音没有了之前的动感就很难受.注意:这个应该是你PC之前就有这个音效好像才可以…本人机器:T470p首先,......
  • css3实现滴水效果
    用css3的@keyframe实现一个滴水效果(这gif结束和开始连接有点卡顿)<divclass="drop"><divclass="mother"></div><divclass="water"></div><divclass=......
  • 3D展会场景制作提升展会效果,迎来品牌数字化营销新机遇
    作为传统会展业转型升级的新契机,"3D云展"需求与日俱增,成为全新的营销形式以及全球趋势。3D展会场景制作颠覆了传统线下参展模式,紧跟时代步伐,将线下展会转变成3D虚拟数字展......
  • 使用 Alice inspector 和 Dio 进行 Flutter API 日志记录
    使用Aliceinspector和Dio进行FlutterAPI日志记录前言有没有发现自己处于这样的情况下,当一个特性被显示或者一个方法被触发时,你必须找出哪个API被调用?我就当......
  • 如何有效地编写 Flutter 代码
    如何有效地编写Flutter代码前言当我们开始任何开发时,我们通常倾向于手工编写每个代码。毫无疑问,这很好,但是一旦我们熟悉了这项技术,如果我们仍然遵循同样的规则,它可能......