react-native 圆形进度条

react

项目中录制视频需要用到圆形进度条,从网上搜了很多,终于发现一个好用的组件react-native-progress,这个组件支持线形和圆形多种形式的进度条,先来看看效果图~

官方效果图.gif

这个组件有四种进度条:

  • Progress.Bar
  • Progress.Pie
  • Progress.Circle
  • Progress.CircleSnail

今天主要结合自己的项目需求讲下圆形进度条Progress.Circle的使用,下面我们来看一下它怎么使用吧~

一、属性介绍

1. 组件通用属性

属性描述默认值
animated是否对进度进行动画更改true
indeterminate如果设置为true,指示器将旋转,进度属性将被忽略。false
progress指示器显示的进度, 0到1之间取值0
color指示器填充颜色rgba(0, 122, 255, 1)
unfilledColor剩余进度的颜色None
borderWidth外部边框宽度,0表示没有边框1
borderColor外部边框颜色color
children可在进度条内部添加组件null

2. 圆形进度条组件属性

属性描述默认值
size圆的直径40
thickness内圆的厚度3
showsText是否显示当前进度的文本false
formatText(progress)一个函数,用于返回文本显示的字符串See source
textStyle进度文本的样式,字体颜色默认为圆的 color ,字体大小和 size 属性成比例None
direction圆的方向, clockwise (顺时针方向) 或者 counter-clockwise (逆时针方向)clockwise
strokeCap圆的Stroke Cap样式, butt , square or round

butt

二、具体使用

(一)安装

  1. 使用安装命令 npm install react-native-progress --save 进行安装;

  2. 在ios上使用圆形进度条需要在Libraries目录下添加ART.xcodeproj,路径为node_modules/react-native/Libraries/ART,如图:

[email protected]

[email protected]

3.在Build Phases下找到Link Binary With Libraries,添加libART.a,如图:

[email protected]

注:android系统npm完成后直接使用即可。

(二)使用

代码如下:

...

import * as Progress from 'react-native-progress';

let seconds = 0;

...

<Progress.Circle

style={{

borderRadius: 42,

width: 84,

height: 84

}}

size={84} // 圆的直径

progress={this.state.progress} // 进度

unfilledColor="rgba(255,255,255,0.5)" // 剩余进度的颜色

color={"#008aff"} // 颜色

thickness={6} // 内圆厚度

direction="clockwise" // 方向

borderWidth={0} // 边框

children={ // 子布局

{

console.log("onPressIn");

this.countDown();

}}

onPressOut={() => {

console.log("onPressOut");

this.timer && clearInterval(this.timer);

}}

onPress={() => {}}

onLongPress={() => console.log("onLongPress")}

>

}

>

...

// 计时

countDown() {

this.timer = setInterval(() => {

seconds += 0.1;

console.log('seconds=',seconds);

console.log('progress---',this.state.progress);

if(seconds 15){

this.timer && clearInterval(this.timer);

}

},100);

}

效果图:

QQ20180104-173449.gif

最后附上github地址: react-native-progress

以上是 react-native 圆形进度条 的全部内容, 来源链接: utcz.com/z/381530.html

回到顶部