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 秒钟,对我来说是一个激励,感谢。
祝你有一个美好的一天~
猫哥
-
微信 ducafecat
-
wiki.ducafecat.tech
-
video.ducafecat.tech