我们在上一章回中介绍了"多种Overlay组件的对比和总结"相关的内容,本章回中将介绍bubble_box包.闲话休提,让我们一起Talk Flutter吧。
1. 概念介绍
我们在本章回中介绍的bubble_box包是一个三方插件,它用来实现类似聊天窗口的功能,常见的使用场景就是微信聊天窗口。通常我们使用Container组件实现窗口,
然后通过修改Container组件的属性来实现带有圆角,背景,边框粗细等效果的窗口。不过如果想在窗口边上加一个箭头,实现类似聊天窗口的效果,Container组件
就无能为力了,因此我们决定到pub库中找一些三方插件,于是便找到了bubble_box包,它是国内开发人员写的包,在pub上的评价也不错。我们将在本章回中详细介绍
该包的功能和用法。此外,我们在pub库中还找到其它的三包,这里先不提具体的名称,我们将在后面的章回中介绍。
2. 思路与方法
2.1 组件及属性
包中提供了BubbleBox组件,我们可以通过该组件的属性来实现聊天窗口功能,下面是常用的属性:
- child属性:用来控制窗口中的内容;
- gradient属性:用来设置窗口背景颜色,可是纯色或者渐变色;
- shape属性:可以控制窗口的形状,边框颜色,窗口的箭头位置;
上面的这三个属性中前两个属性比较好用,第三个属性比较麻烦,它是BubbleBoxBorder类型,这个类型是包中提供的,我们需单独介绍类中的属性,详细如下: - border属性:用来控制窗口边框的颜色,粗细和类型(实线或虚线);
- radius属性:用来控制窗口是否为圆角以及圆角的大小;
- position属性:用来控制窗口上面显示箭头的位置,比如中间等;
- direction属性:用来控制窗口