HarmonyOS弹窗组件,Xpopup 精华
弹窗可以用来操作数据,也可以用来反馈信息。作为产品与用户沟通的核心枢纽,不管是Web前端还是移动端,经常会看见弹窗类的消息。所以,良好的弹窗效果对于用户体验感非常重要。那么,怎样才能设计出好的弹窗?
不少开发者也为之头疼,因为弹窗的样式千变万化,开发起来比较繁琐。为解决这个问题,Xpopup三方弹窗组件应运而生。
一、什么是Xpopup
Xpopup是一款十分强大的弹窗组件,内置了多种常用的弹窗和良好的动画。遵循Material Design,在设计动画的时候考虑了很多细节、过渡、层级的变化,让UI动画更加流畅。同时,用户可以根据需要在Xpopup的内置弹窗的基础上自定义弹窗的样式和业务逻辑。
二、Xpopup分类
综合常见的弹窗场景,可以将其分为以下七类:
1.Center类型:从界面中间弹出,比如确认和取消弹窗、Loading弹窗。
2.Bottom类型:从界面底部弹出,比如知乎的从底部弹出的评论列表。
3.Attach类型:弹窗的位置需要依附于某个Component或者某个触摸点。
4.Drawer类型:从界面的左边或者右边弹出,并支持手势拖拽。
5.ImageViewer类型:大图片浏览弹窗。
6.FullScreen类型:铺满整个界面的弹窗,可以设置任意的动画器,适合用来实现登录、选择性的界面效果。
7.Position类型:自由定位弹窗,可放在屏幕任意地方,结合强大的动画器,可以实现各种效果。
三、Xpopup演示及使用
Xpopup有两种使用方式。一种是内置弹窗,开发者可以直接拿来用。另一种是自定义弹窗,开发者需根据自己的需求来设置相应的样式。
1、Center类型
Center类型,是在界面中间弹出的弹窗。如下图所示,通过点击“显示Confirm弹窗”、“使用内置弹窗绑定项目已有布局”以及“带输入框的Confirm弹窗”,屏幕中央依次弹出了相对应的弹窗效果。
以显示带输入框的Confirm弹窗为例,实现代码如下:
当内置弹窗样式已无法满足开发者的需求,开发者就可以根据自己的需求自定义弹窗。
Center类型的自定义弹窗通过继承CenterPopupView接口,重写getImplLayoutId()返回弹窗的布局,再在onCreate中编写业务需要的逻辑即可。
代码如下:
2、Bottom类型
Bottom类型,是从页面底部弹出的弹窗。
如下图所示,通过点击“显示Bottom类型的List弹窗”从界面底部弹出了带选中效果的选项列表。
实现代码如下:
Bottom类型的自定义弹窗通过继承BottomPopupView接口来实现。这里例举一个模仿知乎评论的实现,效果如下:
实现代码如下:
3、Attach类型
Attach类型,弹窗的位置需要依附于某个Component(桌面控件)或者某个触摸点。如下图所示,通过点击或者长按桌面控件,弹窗在点击的位置弹出:
依附于Component的Attach类型弹窗的实现代码如下:
如果是想依附于某个Component的触摸点,则需要先监视该Component,然后设置点击或长按触发:
Attach类型的自定义弹窗,开发者需通过继承AttachPopupView接口来实现。如下图所示,展示了自定义Attach弹窗、横向带气泡Attach弹窗,以及垂直带气泡Attach弹窗。
实现代码如下:
4、Drawer类型
Drawer类型,是从界面的左边或者右边弹出,并支持手势拖拽。效果展示如下:
实现代码如下:
5、ImageViewer类型
ImageViewer类型,支持大图片浏览弹窗。如下图所示,点击图片浏览按钮后,界面会弹出一个图像列表,任意点击一张图片,一张网络上的图片就加载到了界面上。
实现代码如下:
ImageViewer类型的自定义弹窗,开发者需通过继承ImageViewerPopupView接口实现。目前ImageViewer类型弹窗支持在上面添加任意自定义布局和背景颜色。
代码如下:
6、FullScreen类型
FullScreen类型,是全屏弹窗。如下图所示,展示了一个铺满整个界面的弹窗。
FullScreen类型的自定义弹窗的实现代码如下:
7、Position类型
Position类型,是自由定位弹窗。如下图所示,通过依次点击不同位置标签,弹窗从对应的位置弹出:
Position类型的自定义弹窗的实现代码如下:
四、Xpopup常用设置
在使用Xpopup时,开发者可以根据自身需要,通过调用相应的函数对弹窗的最大宽高、是否水平居中、是否启用拖拽等信息进行设置。可用到的函数,如下表所示:
代码如下所示:
以上就是整个Xpopup的使用过程,感兴趣的小伙伴赶快点击下方附件或链接下载吧!
支持,多些组件开发太方便了。