可以通过上传两个图片,一个是可以定制的T恤/背包等背景图,一个是定制的logo图片。让用户可以可以拖动logo图片放置在背景图上粗略实现DIY的预览效果。具体要求:可手势放大/缩小,可面板 *** 作切换图片,可面板 *** 作放大缩小对应的图片,可本地选择图片。
原生容器组件的 movable-area | 微信开放文档 (qq.com) 已经内部实现了拖动和放大缩小,我们只需要理顺组件交互的思路以及注意事项,主要有以下:
1.movable-view必须为movable-area的子级元素。
2.两个movable-view不能同时设为可手势放大/缩小,存在冲突,因此需要在点击/拖动图片,还有点击下方tab切换背景图/logo时控制相应的movable-view是否可手势缩放。
3.点击或拖动logo/背景图片时候,与下方的 *** 作面板的tab元素互动,因此需要监听touchstart事件。
4.点击/拖动logo时候,需要显示图片边框,在拖动结束的时候边框消失,显得更用户友好,因此需要在touchstart和touchend中做处理。
5.手势放大/缩小时,需要同步下方 *** 作面板的放大倍数,因此需要绑定scale的值(movable-view提供)。
6.(重点)手势放大缩小事件是一种resize事件,如果每次resize都要更新一次面板计步器的话是十分浪费资源的,因此需要进行函数防抖(debounce),当触发时,如果规定时间间隔:500ms(个人设置的值)内再次触发resize事件,则把时间间隔更新,只有在最后一次resize事件执行后且500ms内没有再次触发resize事件,才进行计步器值的更新,具体防抖的原理和应用可以自行搜索。
1.增加保存功能,对完成的图片进行保存。
2.增加旋转功能
日常记录学习~~
参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/cover-image.html
cover-image:覆盖在原生组件之上的图片视图,支持嵌套在 cover-view 里
cover-view:覆盖在原生组件之上的文本视图,支持嵌套 cover-view 、 cover-image ,可在 cover-view 中使用 button
原生组件有:map,video,canvas,camera,live-player,live-pusher
参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/match-media.html
match-media:media query 匹配检测节点,指定一组 media query 规则,满足时,这个节点才会被展示。
参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/movable-area.html
movable-area:是movable-view的可移动区域,必须设置width和height属性,不设置默认为10px
movable-view:可移动的视图容器,在页面中可以拖拽滑动,movable-view必须在movable-area组件中使用,并且必须是直接子节点,否则不能移动。
参数参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/page-container.html
page-container:“假页”容器组件,效果类似于 popup d出层,页面内存在该容器时,当用户进行返回 *** 作,关闭该容器不关闭页面,当前页面最多只有 1 个容器,若已存在容器的情况下,无法增加新的容器
参数参考官方文档:
https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html
scroll-view:可滚动视图区域,使用竖向滚动时,需要给一个固定高度,组件属性的长度单位默认为px
参数参考官方文档:
https://developers.weixin.qq.com/miniprogram/dev/component/share-element.html
具体使用可看官方案例哦
share-element:共享元素,该组件需与page-container组件结合使用
swiper:滑块视图容器,其中只可放置swiper-item组件,否则会导致未定义的行为。
swiper-item:仅可放置在swiper组件中,宽高自动设置为100%
这是我们最熟悉的容器啦~
首先上图看下效果:
大家仔细去看看 官网的文档 后再来看我写的这篇文章可能会更好理解。
(1) movable-area 这个就是定义了一个移动的区域,跟普通的 <view></view>的含义是一样的,不同在于,接着往下看;
(2) movable-view 这个就是一个可移动的视图容器,可以在页面中拖拽滑动。
OK,这就是关于movable-area组件的一些基本概念的介绍,接下来我们实践实践。
(1)这是我们html基本页面结构,我主要来解释一下 movable-view 的属性起到了一些什么作用。
(2)然后我们定义一下css样式,这里大家应该能看得懂,我就不多说了:
主要请仔细看看容器的 宽度 ,后面我们设置 movable-view 的 x属性 的时候是根据样式的宽度来处理的。
这样,我们的页面基本结构就实现了,到这里,我们还有这么几个问题需要解决完善:
我们下章再讲。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)