微信小程序全栈开发实战学习三(icon组件关于图标的5个实现方案+progress组件如何自定义实现一个环形进度条?)

icon组件关于图标的5个实现方案.

小程序官方提供icon很少,支持两种单位 px rpx
在这里插入图片描述
我们可以用以下5个方案来使用图标

1. 使用图片
缺点:图标多会造成大量http请求;不方便修改颜色;图标放大会变虚

2. 使用精灵图(连续图片集)
注意:背景图片只能使用网络图片,不能使用本地图片.
在这里插入图片描述
3.使用css样式绘制(不推荐)
在这里插入图片描述
4.使用矢量字体(最为简单有效)
注意:小程序中建议使用TTF和WOFF格式的。WOFF2在低版本的IOS上会有不兼容的问题。
具体方法:(这里推荐阿里巴巴矢量图库)

  • 可以前往https://www.iconfont.cn/选择喜欢的图标
    在这里插入图片描述
  • 然后打开购物车界面添加到自己的项目,如果没有项目可以新建一个
    在这里插入图片描述
  • 查看字体源在线链接
    在这里插入图片描述
  • 点击复制代码,回到小程序粘贴到一个css文件中(我直接放到了app.css文件中)
    在这里插入图片描述
  • 粘贴链接以后添加css代码
    在这里插入图片描述
.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
}

.icon-add:before {
  content: "\e614";
}

其中“\e614”可以在刚刚复制链接的界面中查找
在这里插入图片描述在这里插入图片描述
最后就可以使用了,使用时时直接引用类名。

在这里插入图片描述
5.使用svg矢量图片

progress组件如何自定义实现一个环形进度条?

在这里插入图片描述

  • show-info是否在百分比进度条右侧显示百分比数字
  • stroke-width进度条高度
  • percent 百分比数值0-100之间
  • active-mode动画停止后重新启动的模式两个值,backwards表示动画从头播,forwards表示从上次结束的位置继续播放
  • active表示是否展示动画
  • bindactiveend绑定动画结束的事件

先来了解一下微信设计规范
在这里插入图片描述
1.如何实现一个下载文件并显示动态进度条的功能?
启用active并将active设置为forwards以后,动画就会随下载进度动起来,通过文件下载的总大小和已完成大小。就能实时计算出percent值,percent属性是动态绑定的,所以每次变化我们需要使用setData触发视图更新。

2.progress已产生的进度条如何设置圆角?
查源码,直接改组件自身的css样式
在这里插入图片描述
3.已经加载完的进度条,如何单击某个按钮让它重新加载呢?
直接调用两次setData可以实现,虽然代码并不优雅,但是是最简单好用的方法。
在这里插入图片描述
这里为什么延时定时器要使用17毫秒?
因为小程序1s内最大渲染的帧数是60帧,每帧渲染约平均花费16.66毫秒,这是一个渲染周期最小的时间单位,17毫秒约等于这个单位。

4.能否实现一个环形进度条?
用canvas 绘制,创建一个自定义组件circle-progress。
在这里插入图片描述
id为runCanvas的canvas用于绘制上面的绿色的圆,灰色的圆圈是由一个灰色的底圆bigCircle加一个白色的稍微小一点的圆littleCircle组合出来的,percent属性标识进度,observer自动监听属性的变化,当进度增加时,调用draw函数绘制新增的绿色进度条。
在这里插入图片描述
5.progress右边进度的百分比数字,它的颜色怎么设置?
在这里插入图片描述
6.progress组件右侧的百分比文字,与左边离得太近,可否增加一个边距?
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值