zoukankan      html  css  js  c++  java
  • rn中tabBar页面的书写

    版本为0.44.3版本,在最新版版本中,他们采用的是Hooks组件的写法;本文使用类组件写法

    下载相关依赖后,可以直接复制在index.android.js文件中

    import React, { Component } from 'react';
    import {
    AppRegistry,
    StyleSheet,
    Text,
    View
    } from 'react-native';
    //tabbar可以引入如下这个方法,也可以使用2.5.1版本中路由提供的一种方法
    import TabNavigator from 'react-native-tab-navigator';//引入tabBar的导航栏
    import Icon from 'react-native-vector-icons/FontAwesome'//引入字体图标库
    import {Dimensions} from 'react-native'//可以获取到屏幕的宽度的一个方法

    const deviceW = Dimensions.get('window').width;

    const basePx = 375

    function px2dp(px) {
    return px * deviceW / basePx
    }

    //Home页面的书写
    class Home extends Component {
    render() {
    return (
    <View style={styles.container}>
    <Text style={styles.welcome}>
    主页
    </Text>
    </View>
    )
    }
    }
    //第二页面的书写方式
    class Profile extends Component {
    render() {
    return (
    <View style={styles.container}>
    <Text style={styles.welcome}>
    第二页
    </Text>
    </View>
    )
    }
    }


    //使用state定义主页的默认显示,
    //selected里面的东西指向的是每个页面的名称
    // renderIcon可以怎家一个字体图表
    export default class KJ extends Component {
    state={
    selectedTab:"home"
    }
    render() {
    return (
    <TabNavigator style={styles.container}>
    <TabNavigator.Item
    selected={this.state.selectedTab === 'home'}
    title="Home"
    selectedTitleStyle={{color: "#3496f0"}}
    renderIcon={() => <Icon name="home" size={px2dp(22)} color="#666"/>}
    renderSelectedIcon={() => <Icon name="home" size={px2dp(22)} color="#3496f0"/>}
    badgeText="1"
    //点击时改变的是selectedTab里面的东西
    onPress={() => this.setState({selectedTab: 'home'})}>
    <Home/>
    </TabNavigator.Item>
    <TabNavigator.Item
    selected={this.state.selectedTab === 'profile'}
    title="Profile"
    selectedTitleStyle={{color: "#3496f0"}}
    renderIcon={() => <Icon name="user" size={px2dp(22)} color="#666"/>}
    renderSelectedIcon={() => <Icon name="user" size={px2dp(22)} color="#3496f0"/>}
    onPress={() => this.setState({selectedTab: 'profile'})}>
    <Profile/>
    </TabNavigator.Item>
    </TabNavigator>
    );
    }
    }

    const styles = StyleSheet.create({

    });

    AppRegistry.registerComponent('KJ', () => KJ);
  • 相关阅读:
    ExtJS5入门
    时间序列异常检测
    RNN实例
    数据清洗入门
    异常检测LOF
    sklearn异常检测demo
    孤立森林(Isolation Forest)
    WCF初见之SQL数据库的增删改查
    NHibernate与EF(Entity Framework)的区别
    解决IIS7虚拟目录出现HTTP 错误 500.19(由于权限不足而无法读取配置文件)的问题
  • 原文地址:https://www.cnblogs.com/jingguorui/p/11465954.html
Copyright © 2011-2022 走看看