react native Switch和StatusBar的使用

69 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第17天,点击查看活动详情

一、Switch

跨平台通用的“开关”组件。

注意这是一个“受控组件”(controlled component)。你必须使用onValueChange回调来更新value属性以响应用户的操作。如果不更新value属性,组件只会按一开始给定的value值来渲染且保持不变,看上去就像完全点不动。

属性:

  • disabled :如果为true则禁用此组件的交互。

  • onChange :当值改变的时候调用此回调函数,参数为事件。

  • onValueChange :当值改变的时候调用此回调函数,参数为新的值

  • onValueChange :当值改变的时候调用此回调函数,参数为新的值

  • trackColor :关闭状态时的边框颜色(iOS)或背景颜色(Android)。

二、StatusBar

用于控制应用状态栏的组件。状态栏是区域,通常位于屏幕顶部,显示当前时间、Wi-Fi 和蜂窝网络信息、电池电量和/或其他状态图标。

命令式 API

对于使用组件不理想的情况,还有一个命令式 API 作为组件上的静态函数公开。但是,不建议将静态 API 和组件用于同一 prop,因为静态 API 设置的任何值都将在下一次渲染中被组件设置的值覆盖

属性:

  • currentHeight :状态栏的高度,包括槽口高度(如果存在)

  • backgroundColor :状态栏的背景色。

  • barStyle:设置状态栏文本的颜色

  • hidden:如果状态栏处于隐藏状态。

  • showHideTransition :使用道具显示和隐藏状态栏时的过渡效果。

  • translucent :人造人 如果状态栏是半透明的。当半透明设置为 时,应用将在状态栏下绘制。这在使用半透明状态栏颜色时很有用。true

import { Text, StyleSheet, View,StatusBar,Switch } from 'react-native'
import React, { Component } from 'react'

export default class Nav1 extends Component {

  render() {
    return (
      <View style={[styles.container]}>
          <StatusBar
            hidden={false}//是否隐藏导航栏
            backgroundColor={"red"}//导航栏背景颜色

          />
          <Switch
            trackColor={{false:"#999",true:"red"}}//背景颜色
            thumbColor={"white"}//前面圆圈的颜色
            value={false}//是否是打开
            onValueChange={this.changeaValue}
          />
      </View>
    )
  }
}

const styles = StyleSheet.create({
    container:{
        flex:1,
        justifyContent:'center',
        alignItems:'center'
    }
})