react native StatusBar 使用详解

StatusBar 是手机顶部的状态条。
属性:

animated:状态栏变化时是否使用动画。
hidden:是否隐藏状态栏。
backgroundColor:仅作用于android。 状态栏背景色。
translucent:仅作用于android。 是否透明。
barStyle:状态栏文本的颜色(’default’, ‘light-content’, ‘dark-content’)。
networkActivityIndicatorVisible:仅作用于ios。是否显示正在使用网络。
showHideTransition:仅作用于ios。显示或隐藏状态栏时所使用的动画效果(’fade’, ‘slide’)。

Demo:

/**
 * Created by on 2017/4/27.
 */
import React, {Component} from 'react';
import {
    StyleSheet,
    View,
    StatusBar,
    Text,
    Button,
    TouchableHighlight,
} from 'react-native';

function getValue<T>(values: Array<T>, index: number): T {
    return values[index % values.length];
}


export default class StatusBarDemo extends Component {

    static navigationOptions = {
        title: 'StatusBar',
        header: {
            //style:{backgroundColor: 'black',},
        }
    };

    state = {
        animated: true,
        hidden: false,
        backgroundColor:'white',
        translucent:false,
        barStyle:'default',
        networkActivityIndicatorVisible:false,
        showHideTransition:'fade',
    }


    render() {
        return (
            <View style={{flex:1}}>
                <StatusBar
                    animated={this.state.animated}
                    hidden={this.state.hidden}
                    backgroundColor={this.state.backgroundColor}
                    translucent={this.state.translucent}
                    barStyle={this.state.barStyle}
                    networkActivityIndicatorVisible={this.state.networkActivityIndicatorVisible}
                    showHideTransition={this.state.showHideTransition}
                />
                <Button title={this.state.animated?'禁用动画':'使用动画'} onPress={()=>{this.setState({animated:!this.state.animated})}}/>
                <Button title={this.state.hidden?'显示':'隐藏'} onPress={()=>{this.setState({hidden:!this.state.hidden})}}/>
                <View style={{flexDirection:'row',alignItems:'center'}}>
                    <Text>设置背景色:</Text>
                    <Button title='红色' onPress={()=>{this.setState({backgroundColor:'red'})}}/>
                    <Button title='蓝色' onPress={()=>{this.setState({backgroundColor:'blue'})}}/>
                    <Button title='半透明' onPress={()=>{this.setState({backgroundColor:'#80000000'})}}/>
                </View>
                <Button title={this.state.translucent?'不透明':'透明'} onPress={()=>{this.setState({translucent:!this.state.translucent})}}/>
                <View style={{flexDirection:'row',alignItems:'center'}}>
                    <Text>设置样式:</Text>
                    <Button title='default' onPress={()=>{this.setState({barStyle:'default'})}}/>
                    <Button title='light-content' onPress={()=>{this.setState({barStyle:'light-content'})}}/>
                    <Button title='dark-content' onPress={()=>{this.setState({barStyle:'dark-content'})}}/>
                </View>
                <View style={{flexDirection:'row',alignItems:'center'}}>
                    <Text>显示或隐藏动画效果:</Text>
                    <Button title='fade' onPress={()=>{this.setState({showHideTransition:'fade'})}}/>
                    <Button title='slide' onPress={()=>{this.setState({showHideTransition:'slide'})}}/>
                </View>
            </View>
        );
    }
}

这里写图片描述

github下载地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孟Flutter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值