赞
踩
我们在本章回中介绍的OverlayEntry组件是官方提供的组件,它主要用来显示一个模糊层(Overlay
),这个模糊层与我们在前面章回中介绍的首次引导功能中的模糊层完全一样,其实我们在前面介绍的三方包在实现首次引导功能时也使用该组件,我们将在本章回中介绍OverlayEntry
组件的用法。
在包中OverlayEntry
是独立的组件,它提供了相关的属性和方法来控制自己,我们将在接下来的小节中分别介绍这些属性和方法。
我们先介绍一下OverlayEntry
组件的属性,通过属性可以控制组件的相关风格与功能,下面是该组件中常用的属性:
上面介绍的两个属性中builder
属性是必选属性,我们必须给该属性赋值,否则无法使用该组件。还需要注意的是该属性会把赋值给它的组件放到一个类似Stack的容器中,因此,我们通常使用Positioned
组件给它赋值,这些便于调整组件在模糊层上的位置。
在使用OverlayEntry时需要借助OverlayState
,通过OverlayState类的insert
()方法来显示Overlay,显示完成后通过OverlayEntry的remove()
方法移除当前正在显示的Overlay.我们将在后面的小节中通过示例代码来演示:
void _showOverlay(BuildContext context) {
double screenWidth = MediaQuery.sizeOf(context).width;
double screenHeight = MediaQuery.sizeOf(context).height;
_overlayEntry1 = OverlayEntry(builder: (context) {
///Overlay上显示的内容
return Positioned(
top: 0,
left: 0,
child: Container(
color: Colors.lightBlueAccent,
width: screenWidth,
height: screenHeight,
child:const Text("This is a Overlay Entry"),
),
);
},
///控制透明度
opaque: true,
);
final OverlayState overlayState = Overlay.of(context);
overlayState.insert(_overlayEntry1!);
上面的示例代码主要演示了如何创建一个OverlayEntry
,并且通过OverlayState类的inster方法来显示模糊层(Overlay).
代码中的Overlay
是一个覆盖整个屏幕的模糊层,我们可以调整它的大小。实际项目中通常会把它调整成一个可以显示文本内容的矩形框,文本内容就是对某个功能的解释。
最后,我们对本章回中内容做一个全面的总结:
看官们,与"OverlayEntry组件简介"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。