react-navigation使用及dva初探二
来源:互联网 发布:linux如何停掉mysql 编辑:程序博客网 时间:2024/06/05 15:20
在上篇文章的基础上,我们只能实现react-navigation的基础功能和效果,要想到达android和ios统一或更好的效果,需要继续学习,
一,ios和android 未实现统一的标题栏效果,ios中title居中,而android则居左显示,查看文档,并没有提供相关的属性,所以需要查看其源码进行修改,在node_modules里面找到react-navigation-src-view目录下
在Header.js中修改如下
351行
title: { bottom: 0, left: TITLE_OFFSET, right: TITLE_OFFSET, top: 0, position: 'absolute', alignItems: 'center' // Platform.OS === 'android' // ? 'flex-start' // : 'center', },
即可达到自己想要的标题栏文本样式,那么返回键右边的文字怎么去掉的,同样在同级目录下的HeaderBackButton.js 里面第84行
{Platform.OS === 'ios' && title && ( <Text onLayout={this._onTextLayout} style={[styles.title, { color: tintColor }]} numberOfLines={1} > {renderTruncated ? truncatedTitle : title} </Text> )}
隐掉这段代码即可,然后再重新再关闭react-package,重新react-native run-ios 或android 即可,
二,标题栏右侧按钮点击事件及动态替换
由于标题栏并未依附于组件,或者并没有在组件初始化后render,所以无法拿到this,在设置点击事件时不能像平常一样设置,代码如下:
class demo extends Component { static navigationOptions = { header: (state)=>({ right:( <Button title={'hehe'} onPress={state.params.myparams}/>) }) } _menuClick=()=> { alert('haha') }; componentWillMount() { this.props.navigation.setParams({myparams:this._menuClick}) } }
这样就可以设置点击事件,并做相应的逻辑操作了,如果想动态隐藏或显示标题栏,也可以:
class demo extends Component { static navigationOptions = { header: ({state}) => ({ visible: !!state.params && state.params.header === 'visible', title: 'Now you see me', }), } render(){ return( <Button title="Toggle Header" onPress={() => this.props.navigation.setParams({ header: (this.props.navigation.state.params && this.props.navigation.state.params.header === 'visible') ? 'none' : 'visible' })} />) } }
大致我用到的就上面这些,那么如果通过redux来处理app中的导航状态,并统一管理呢,以及使用dva框架来快速集成两者做到快速开发呢,下篇文章再议。
3 0
- react-navigation使用及dva初探二
- react-navigation使用及dva初探一
- react-navigation及dva使用(三)
- react-navigation Navigation使用
- 基于react+redux的轻量级框架dva初使用及应用逻辑分析
- react-navigation 简单使用
- react-navigation使用
- react-navigation使用技巧
- react-navigation使用
- react-navigation使用心得
- React Navigation基础使用
- react-navigation使用技巧
- react-navigation 使用详解
- react-navigation使用技巧
- react-navigation使用技巧
- react-navigation的使用
- react-navigation 使用详解
- react-navigation使用技巧
- 【代码片-1】 java程序员面试宝典笔记
- compress函数用法详解
- 第十四,十五单元练习题
- 基于Java优先队列API(PriorityQueue)构建哈夫曼树
- 迷宫的最短路径 bfs
- react-navigation使用及dva初探二
- 第四章 接口
- Linux-SED
- OLTP与OLAP的介绍
- 多线程抓取数据
- [LeetCode]100. Same Tree(相同树)
- Linux--RH134---unit 1 自动安装配置虚拟机
- JAVA生产缩略图
- POJ2385 Apple Catching(DP/递推)