重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在本博客中,我们将探讨Flutter中的堆叠式卡轮播。 我们还将实现一个演示程序,并学习在您的flutter应用程序中使用 stacked_card_carousel 包创建一个带有垂直轮播的堆叠卡。
创新互联建站服务项目包括港闸网站建设、港闸网站制作、港闸网页制作以及港闸网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,港闸网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到港闸省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
用于创建带有堆叠卡片的垂直轮播的小部件。 下面的演示视频显示了如何在Flutter中创建带有垂直旋转木马的堆叠卡。 它显示了在您的flutter应用程序中如何使用stacked_card_carousel软件包来使用堆叠式卡轮播。 它显示了垂直圆盘传送带滑动卡的列表,所有卡向上滑动并堆叠,称为堆叠式卡传送带。 它会显示在您的设备上。
堆叠式卡轮播的一些属性是:
在lib文件夹中创建一个名为style_card.dart的新dart文件。
首先,我们创建StyleCard类,将在后续的DEMO中调用它
我们将制作一个 card 控件. 在card控件中, 我们加入一个elevation 属性和一个column控件。 在column中, 我们加入一个container用于包含image, title 和 description. 然后在stacked_card_demo页面中使用它。
在lib文件夹中创建一个新的名为stacked_card_demo.dart的dart文件。
现在,我们将创建一个styleCards列表,并在其中添加一个StyleCard类。
我们创建了八个卡片控件,并在其中添加了image,title和description。 程序运行后,我们将看到一个卡片列表, 当用户向上滑动时,所有卡片都将堆叠在一起; 当用户向下滑动时,卡片都将回到原始位置;
效果如下:
Demo地址:
使用 flutter_swiper 轮播库。
使用 AspectRatio 结合实现效果,设置对应的比例。
NotificationListener 可以监听 PageView 的改变,比如滑动的距离,页面索引等,目前只使用的了索引。里面的一些方法挺有用的。
使用 AnimatedContainer 组件保证切换以后会有流程的过渡效果,表现的会平滑一些。
首先,返回数据需要包含图片的宽高信息,就像这样:
如果返回的只有图片信息没有宽高数据可以使用以下方法去获得图片的信息,这样也可以得到图片的宽高信息,不太建议,还是直接叫后端给,我们也方便处理,要是后端说他们给不了就拿上砖头去叫他们加,就想偷懒。
自适应轮播图的高度我们需要原始图片的宽高比,或者知道原始图的宽高。显示的时候按照原始的宽高比进行等比例缩放。
_controller.page 获取到的是一个浮点数,类似 1.0325441 ,使用 round 四舍五入出现的效果就是我们拖到一半或以上就可以得到下一个 activeIndex , activeIndex 是一个整数。
我们动态获取了图片的宽度以后放入 AnimatedContainer 就可以有过渡效果,真机和模拟器测试都很流畅,可以已60帧渲染。