React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
来源:互联网 发布:投资项目经济评价软件 编辑:程序博客网 时间:2024/06/05 19:22
针对滑动菜单,Android SDK为我们提供了有 DrawerLayout,在React Native(RN)中对应的组件有DrawerLayoutAndroid.下面简单讲解下该组件的使用.
首先我们看下要实现的UI.
示例代码:
<DrawerLayoutAndroid
ref='drawer'
drawerWidth={300}
drawerPosition={DrawerLayoutAndroid.positions.Left}
renderNavigationView={()=>navigationView}
onDrawerOpen={()=>this.setState({isMenuOpen:true})}
onDrawerClose={()=>this.setState({isMenuOpen:false})}
>
简单说下renderNavigationView属性,该属性传输的参数是func,返回时滑动菜单的View.
下面首先创建侧滑菜单对应的组件MenuList,我们首先分析用RN该如何布局,对于有些移动开发经验的朋友来说很简单。 如图:
下面我们看下MenuList对应的render方法布局:
代码写的有点凌乱,开发项目最好将相应的方法剥离出来,让render方法尽可能的清晰。
效果图:
关于细节没有过多讲解,可以参考源码,这里讲解下我开发中遇到的问题。
第一:就是布局上面:<Image> ... <Image>
并不只是View可以作为载体,Image也可以作为载体.一开始总以为RN没有设计好,View只有backgroundColor而没有对应背景图片的设置感觉非常奇怪,而针对Image组件又不知道它竟然可以作为可设置背景图的View来使用,这或许是受到安卓原生开发原因吧。
第二:func的传递调用
如果你之前也是搞安卓的,我想你应该有和我一样的困惑,bind是什么玩意,func的传递怎么这么随意,this怎么和我们Java中的不一样呢。如果你直接就是搞js的,那我瞎掰的还请您高抬贵手,,,
针对bind:如果再你调用的方法中用到的this,那么你就进行绑定进去bind(this)。
示例代码:
通过上面代码,我们可以清楚的看出通过TouchableHighlight对应的onPress方法来进行回调传过来的属性方法onMenuItem.
第三:Image显示本地图片.
经过多次尝试,发现Image在使用require('./img/favicon.png')的时候,内部的字符串不仅不能拼接,也不能在外部拼接好在传入调用,必须直接将字符串写进去,否则的话会报错,针对这点不得不吐槽下RN的设计.
上面讲解只是针对安卓设备的滑动菜单,后续会跟进iOS设备的滑动菜单.http://blog.csdn.net/jj120522/article/details/51860635
- React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
- React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
- react-native 仿网易云音乐旋转唱片动画
- React Native动画之Animated仿网易云音乐启动动画
- React Native动画之Animated仿网易云音乐启动动画
- React Native 组件之DrawerLayoutAndroid(抽屉)
- 仿网易云音乐的滑动效果
- 仿网易云音乐滑动效果
- react-native-DrawerLayoutAndroid
- 仿网易云音乐分类菜单
- React Native控件之DrawerLayoutAndroid抽屉导航组件讲解
- react native DrawerLayoutAndroid 使用详解
- 仿网易云音乐
- 【React Native开发】React Native控件之DrawerLayoutAndroid抽屉导航切换组件讲解(13)
- Android漂亮的音乐歌词控件,仿网易云音乐滑动效果
- 仿网易云音乐播放音乐转盘
- 高仿网易云音乐---之扫描本地歌曲
- activity实现弹出菜单,仿网易云音乐侧滑菜单
- 记忆
- 自定义View
- ELK日志套件安装与使用
- Android中path基本使用总结
- 搭建一个简单、易用的 Android 项目框架之 BaseAdapter(三)
- React Native之DrawerLayoutAndroid仿网易云音乐滑动菜单
- 用SHELL脚本自动化安装Nagios服务器端和客户端的
- 插入排序
- DelphiXE Ansi字符串UTF-8编码判断
- PAGE_ALIGN 详解 纯属原创 转载注明出处
- String三个注意事项
- 安卓解压zip文件,解压后多级目录显示
- Commit message 和 Change log 编写指南
- Android Dalvik虚拟机内存分配问题