0.0.4 • Published 2 months ago

react-native-instrument-board v0.0.4

Weekly downloads
3
License
MIT
Repository
github
Last release
2 months ago

react-native-instrument-board

npm npm npm

该组件源于公司项目,当前业务主要用于反馈买车用户的一个消费态度,工作之余就将其抽取出来了。主要还是当做一个记录,如果后续时间允许,会考虑写一篇关于做这个组件的文章,写写当时遇到的问题和一些技术点。组件依赖于react-native-svg,所以基本是SVG绘制语句的应用。目前测试情况来看,可能需要 RN >= 0.50.0 😶😶~

如果你想在项目中使用,Android 下可能需要修改项目的 support 包到 25 版本,如 example 中的 gradle 文件 所示。

示例效果

demo

安装

使用npm

npm install react-native-instrument-board --save

yarn

yarn add react-native-instrument-board 

安装后,需要执行以下命令:

react-native link react-native-svg

运行example

进入项目根目录

cd example
npm install
react-native run-ios/run-android

参数

名称类型默认值参数描述
percentagenumber80进度百分比,内圈红色部分,范围0-100
radiusnumber150仪表盘半径,注意是外圈半径
strokeWidthnumber8仪表盘边框宽度
startAnglenumber36仪表盘0°位置的角度,以经过仪表盘圆点的垂直线作为基准,顺时针方向的角度
contentStrokeColorsarray颜色数组仪表盘每个区间的边框颜色,与区间个数对应,数组格式
degreeTextsarray'0', '1.0', '2.0', '3.0', '4.0'仪表盘刻度值数组
degreeTextRadiusnumber118仪表盘刻度值的半径,决定了刻度值的显示位置
degreeTextStartOffsetarray'4%', '0', '0', '0'用于调整仪表盘刻度值偏移量的数组
degreeTextColorstring'#999'刻度值文本颜色
contentTextsarray'精打细算', '理想消费', '不差钱', '有的是钱'仪表盘分段内容的数组
contentTextRadiusnumber120类似于degreeTextRadius仪表盘分段内容的半径,决定了内容区的显示位置
contentTextStartOffsetarray'28%', '28%', '35%', '28%'类似于degreeTextStartOffset,用于调整内容区文本的偏移量
contentTextColorstring'#999'仪表盘分段内容的文本颜色
progressRadiusnumber110进度条半径
progressBackgroundColorstring'#ccc'进度条背景颜色
progressRadiusstring'rgb(234, 0, 22)'进度条指示颜色
needleRadiusnumber80仪表盘指针半径,指圆心至针尖之间长度
needleAnglenumber60仪表盘指针角度,指针在中心圆边缘上所占的扇形角度
centerSpotRadiusnumber16仪表盘中心圆半径
animatedbooltrue是否开启动画,暂时只有Animated.spring模式