React Native商城项目实战04 - 封装TabNavigator.Item的创建

ReactNative进阶(十五):应用 react-native-tab-navigator 实现底部导航栏_react native配置底部菜单栏 接着,我们将相关的图标导入工程中,具体方法在上一篇博客中已经介绍,这里不再赘述。就是我们所看到的5个Tab按钮以及它们所对应的页面,这些页面在。,所以我们必须提供图片资源(包括选中状态)、的子元素存在,这里请注意:如果添加了一个。,可以自己义,也可以直接放置其他控件。样式的分析,可以按照如下样式,为。为了代码的简洁,我们可以设计一个。后的图片资源当做参数传递!本身的性质,不可以使用动态的。对于所关心的页面切换,在。这个函数可以为我们创建。如果使用本地图片,即在。的形式引用图片,由于。在上面的代码中,由于。 阅读详情

1.Main.js

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View,
    Image,
    Platform,  //判断当前运行的系统
    Navigator
} from 'react-native';

/*=============导入外部组件类==============*/
import TabNavigator from 'react-native-tab-navigator';
var Home = require('../Home/Home');
var Shop = require('../Shop/Shop');
var Mine = require('../Mine/Mine');
var More = require('../More/More');


// ES5
var Main = React.createClass({
    // 初始化函数(变量是可以改变的,充当状态机的角色)
    getInitialState(){
        return{
            selectedTab:'home' // 默认选中的tabBar
        }
    },

    render() {
        return (
            <TabNavigator>
                {/*--首页--*/}
                {this.renderTabBarItem('首页','icon_tabbar_homepage','icon_tabbar_homepage_selected','home','首页',Home,1)}
                {/*--商家--*/}
                {this.renderTabBarItem('商家','icon_tabbar_merchant_normal','icon_tabbar_merchant_selected','shop','商家',Shop,2)}
                {/*--我的--*/}
                {this.renderTabBarItem('我的','icon_tabbar_mine','icon_tabbar_mine_selected','mine','我的',Mine)}
                {/*--更多--*/}
                {this.renderTabBarItem('更多','icon_tabbar_misc','icon_tabbar_misc_selected','more','更多',More)}
            </TabNavigator>
        );
    },

    // 封装tabBarItem
    renderTabBarItem(title,iconName,selectedIconName,selectedTab,componentName,component,badgeText){
        return(
            <TabNavigator.Item
                title={title}
                renderIcon={() => <Image source={{uri:iconName}} style={styles.iconStyle} />}
                renderSelectedIcon={() => <Image source={{uri:selectedIconName}} style={styles.iconStyle} />}
                selected={this.state.selectedTab === selectedTab}
                onPress={() => this.setState({ selectedTab: selectedTab })}
                selectedTitleStyle={styles.selectedTitleStyle} //tabBarItem选中的文字样式
                badgeText={badgeText}
            >
                <Navigator
                    initialRoute={{name: componentName, component:component}}
                    configureScene={()=>{
                            return Navigator.SceneConfigs.PushFromRight;
                        }}
                    renderScene={(route, navigator) =>{
                            let Component = route.component;
                            return <Component {...route.passProps} navigator={navigator} />
                        }}
                />
            </TabNavigator.Item>
        )
    }
});

const styles = StyleSheet.create({
    // icon默认样式
    iconStyle:{
        width: Platform.OS === 'ios' ? 30 : 25,
        height:Platform.OS === 'ios' ? 30 : 25,
    },
    // tabBarItem选中的文字样式
    selectedTitleStyle:{
        color: 'rgba(212,97,0,1)',
    }
});

// 输出
module.exports = Main;

对比之前代码减少了很多

ReactNative学习实例(八) 第三方组件TabNavigator底部导航栏 TabNavigator是github上开源的一个rn组件,是适用于ios和安卓两个平台的底部导航栏。 组件地址:https://github.com/expo/react-native-tab-navigator 1.首先通过命令行将组件引入项目: 进入项目根目录并执行npm install react-native-tab-navigator --save执行完毕后组件就已导入, 阅读详情

相关推荐

React Native入门——布局实践:开发京东客户端首页(二)TabBar的构建

本文主要对京东客户端TabBar的样式进行了分析,并对React Native中tabnavigator控件进行了说明,并一步一步讲将TabBar的构建步骤呈现出来,让我们一起来开发自己的TabBar!

可爱的程序猿 1万+

关于<TabNavigator>的item的一些用法 例如传递navigation

_renderTab(Component, selectedTab, title, renderIcon,selectedIcon,position) {     return (         TabNavigator.Item            //设置选中的位置             selected={this.state.selectedTab === se

小菜鸟的博客 1271

设置TabNavigator组件的标签头的自定义皮肤

设置TabNavigator组件的标签头的自定义皮肤,可以设置样式等等,内容较少,只是提供一种自定义皮肤设置的思路

react-native 项目实战 -- 新闻客户端(3) -- 包装导航控制器

1.修改后的 Main.js /** * 主页面 */ import React, { Component } from 'react'; import { StyleSheet, Text, View, Image, Platform, //判断当前运行的系统 } from 'react-native'; /*=============导入外部组...

weixin_34234829的博客 140

Flex中TabNavigator设置Tabs样式思路及

主要介绍了Flex中TabNavigator如何设置Tabs样式有哪些思路,感兴趣的朋友可以看看下面的源码

关于esp32蓝牙模块的使用——esp32学习笔记

关于esp32蓝牙模块的使用——esp32学习笔记 零、前言 esp32自带蓝牙模块可以让我们进行蓝牙连接并进行数据交换 一、经典蓝牙BT 首先来编写代码,经典蓝牙的使用非常简单,首先声明使用了BluetoothSerial这个库,然后使用SerialBT.begin函数设置蓝牙的名字,再然后就是设置配对码,由于这里没有用到配对码,所以我将注释掉。当配对成功我们就使用printf函数打印出蓝牙配对成功。 #include <Arduino.h> #include <BluetoothSer

qq_53965184的博客 5万+

如何设置TabNavigator选中标签的样式

如何设置TabNavigator选中标签的样式

qq_44919483的博客 655

调用IP核、移植/复制IP核以及解决IP核被锁住/红锁问题(基于vivado)

解决不同工程IP核之间复制调用以及IP核红锁问题,让开发更简单!

weixin_44502554的博客 1万+

React Native商城项目实战04 - 封装TabNavigator.Item的创建

1.Main.js   /** * 主页面 */ import React, { Component } from 'react'; import { StyleSheet, Text, View, Image, Platform, //判断当前运行的系统 } from 'react-native'; /*=============导入外部组件类=...

weixin_33910137的博客 135

内核工作FAST‘25 Artifact Evaluation流程记录

在我们的paper中,复现需要用到傲腾持久化内存,因此,需要AE Reviewer访问到内网服务器中。我们的思路是购买云服务器,将其作为跳板机,内网服务器通过SSH反向代理与公网服务器建立隧道,AE Reviewer通过隧道访问内网服务器。我们在AE过程中使用。然后,把一切复现需要的代码环境,在chroot里面配置完成。

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 1214

SDR实战(四)-AD9361使用手册(三)

本节定义了并行数据端口和串行外设接口(SPI),它们使得AD9361与基带处理器(BBP)之间能够传输数据和控制/状态信息。图63展示了这些接口,并提供了AD9361和BBP在宽带无线系统中使用方式的高级概述。数据接口以两种模式之一运行:兼容标准CMOS模式或兼容低压差分信号(LVDS)模式。每个接口都具有以下部分描述的独特特性。使用CMOS模式时:保持了单端-CMOS逻辑兼容性。可以使用一个或两个数据端口。使用两个端口可以提高数据吞吐量。

hutx0924的博客 6242

tabnavigator_使用TabNavigator在Firefox中享受桌面Alt-Tab样式导航

tabnavigatorDo you use Alt-Tab window switching for your Windows desktop and find yourself wishing for that same functionality in Firefox? Now you can enjoy all that switching goodness in your browser...

cum43546的博客 327

告别信息过载:我是如何用Feedly RSS阅读器打造个人专属信息流的(附Chrome插件使用技巧)

本文分享了如何利用Feedly RSS阅读器有效管理信息过载,打造个人专属信息流的方法。通过科学组织订阅源、智能过滤和跨平台同步技巧,帮助用户从被动接收转为主动筛选,提升信息获取效率。特别推荐使用Feedly的Chrome插件和AI过滤功能,实现高效的信息管理。

weixin_42526015的博客 354

TabNavigator自定义Tab

react navigation三种导航,其中TabNavigation和StackNavigation用的比较多。今天要说的就是关于TabNavigation的样式问题,可能很多人都遇到过为什么明明设置了style和tabStyle还是会有问题。 我想可能会有很多人这样写: const tabbaroption = { activeTintColor: Color.f3474b,

吴蕴强的博客 3611

Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.5 V4L2 control的原理和实现

既然涉及到视频输入,就会有很多与 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。 内核中已经为我们提供了这个控制类型的,我们只需要明确自己需要添加什么控制类型,然后将其添加进内核中即可。该部分摄像头代码一半厂家会提供驱动或者相对应的参数,否则没有图像处理知识很难开发出来。 返回总目录...

DSMGUOGUO的博客 1435

深入解读WT软件湍流强度计算与分析

深入解读WT软件湍流强度计算与分析

weixin_46713695的博客 1020

TabBar切换页的实现——React-native-tab-navigator的使用

在构建TabBar的方式上,使用React-native-tab-navigator(https://github.com/exponentjs/react-native-tab-navigator) 干货直接上代码 一:项目集成React-native-tab-navigator      在当前项目下 终端运行:npm install react-native-tab-navigator

李浩然的专栏 1万+

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行)

本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。

同学小张的博客 3925

ReactNative学习十-Tab-Navigator

1.github地址 https://github.com/exponentjs/react-native-tab-navigator 2.package.json配置 "dependencies": {     "react-native-tab-navigator": "^0.2.15",   } 3.说明 A tab bar that switches betw

zhukui66的专栏 2664

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

React-Native学习笔记之:使用Tab react-native-tab-navigator框架

在React Native中,我们通常使用react-native-tab-navigator来做底部导航栏效果,使用前先要在项目中引入对应 依赖库, 引用方法: windows环境,cmd命令窗口,进入到项目所在的文件目录,执行:npm install react-native-tab-navigator --save执行完成后,项目中即添加上了react-native-tab-navigator

true100的专栏 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

导航栏中navigationItem自定义的两种写法

HMDiaryNavButton *filterButton = [[HMDiaryNavButton alloc]init]; [filterButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; [filterButton setFrame:CGRectMake(0, 0, 35, 40

siaspss的博客 2246

ReactNative 导航栏Navigator的使用及参数navigator的传递

官网,以及网上都有常见的Navigator的案例,我之前做过一个项目,是一个三级子目录,展开到第三级,然后点击item跳转到另一个页面!由于三级目录在同一个页面展示,经三元运算符或if条件判断,确定子级的显示与隐藏,因此在最底层通过this.props获取不到navigator,需要进行参数的逐级传递,具体见以下案例: 这里写代码片 首先创建一个Navigator,跳转到第一个界面Addr

hldHema的博客 996

flex TabNavigator的标签页默认是点击后才初始化

TabNavigator的标签页默认是点击后才初始化。所以,如果在用户点击前就去操作后面的标签页,比如动态加载数据等,就会报错。解决办法是加上creationPolicy="all",使flex提前就初始化所有标签页。但是需要注意的是,标签页里面的容器都会继承这个属性,导致全部都提前初始化。如果有些需要绑定数据才能构建的控件在里面就会报内部语言的错误。所有可以在不需要提前初始化的标签页内部容器,加...

藏经阁 252

react-native-tab-navigator来做底部导航tabbar

1.github上的地址: https://github.com/lwx123/react-native-tab-navigator 2.终端运行: npm install react-native-tab-navigator --save 下载 3.导入,类似安卓, import TabNavigator from 'react-native-tab-navigato

廖伍星的专栏 4577
上一篇: React Native商城项目实战03 - 包装Navigator
下一篇: React Native商城项目实战05 - 设置首页的导航条
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值