React Native 活动指示器组件 ActivityIndicator
React Native 中的活动指示器组件 ActivityIndicator 就长下面这样。
嗯,不是全部,只是其中一个转圈圈的。
有一些比较耗时的操作,可能需要用户等待,那么就可以用 活动指示器组件 ActivityIndicator 告诉用户你需要等待。
其实,任何从用户点击开始,不能立刻给予用户反馈的操作,都需要使用 活动指示器组件 ActivityIndicator 告诉用户等待片刻。
React Native 活动指示器组件 ActivityIndicator
引入组件
React Native 中使用 活动指示器组件 ActivityIndicator 首先需要引入组件
import { ActivityIndicator } from 'react-native';
使用语法
活动指示器组件 ActivityIndicator 的使用语法和其它大部分组件一样。只不过它是一个自闭合组件,没有任何子元素。
<ActivityIndicator
animating = {true|false}
color = {'[color]'}
size = {"large"| "small"} />
属性说明
属性 | 类型 | 是否必须 | 说明 |
---|---|---|---|
animating | boolean | 否 | 是否显示活动指示器。默认为 true ,false 则表示隐藏 |
color | color | 否 | ⭕️ 的颜色,默认情况下,iOS 为灰色,Android 为 深青色 |
size | string | 否 | 只有两个选项 large 和 small ,默认是 small |
范例1 : 最基本的使用
活动指示器组件 ActivityIndicator 的使用方式还是很简单的。我们修改 App.js
如下就能看到使用效果
App.js
import React, { Component } from 'react';
import { ActivityIndicator, View, Text, TouchableOpacity, StyleSheet } from 'react-native';
class App extends Component {
render() {
return (
<View style = {styles.container}>
<ActivityIndicator style = {styles.activityIndicator}/>
</View>
)
}
}
export default App
const styles = StyleSheet.create ({
container: {
marginTop: 70
},
activityIndicator: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
height: 80
}
})
演示效果如下
范例2 : 指定时间后隐藏
如果需要隐藏 活动指示器组件 ActivityIndicator 组件只需要将 animating
设置为 false
即可。
例如下面的范例,在启动 2 秒后自动隐藏 活动指示器组件 ActivityIndicator 组件。在启动 3 秒后继续显示活动指示器。
App.js
import React, { Component } from 'react';
import { ActivityIndicator, View, Text, TouchableOpacity, StyleSheet } from 'react-native';
class App extends Component {
state = { animating: true }
closeActivityIndicator = () => {
setTimeout(() => this.setState({animating: false }), 2000)
setTimeout(() => this.setState({animating: true }), 4000)
}
componentDidMount = () => this.closeActivityIndicator()
render() {
const animating = this.state.animating
return (
<View style = {styles.container}>
<ActivityIndicator
animating = {animating}
color = '#bc2b78'
size = "large"
style = {styles.activityIndicator}/>
</View>
)
}
}
export default App
const styles = StyleSheet.create ({
container: {
flex: 1,
marginTop: 70
},
activityIndicator: {
height: 80
}
})
演示
评论区