最近在做的采用React Native项目有一个需求,视频直播与直播流播放同一个布局中,带着问题去思考如何实现,能更容易找到问题关键点,下面分析这个控件解决方法: 现在条件:视频播放控件(开源的ijkplayer),直播控件(自定义控件继承自TextureView与SurfaceView) 1.两种控件切换方式? 讲到切换方式,那应该是从一个布局切换到另一个布局,那如何进行布局,可以是两种布局:嵌套布局(直播控件包括播放控件),单独布局(先移除容器的控件后添加所需控件),采用第二种方式进行实现.…
封装 React Native 原生组件(iOS / Android) 在 React Native中,有很多种丰富的组件了,例如 ScrollView.FlatList.SectionList.Button.Text.Image等: 常用的组件已经可以帮助我们实现并满足日常开发中所遇到的功能需求: 但是产品经理突发奇想还是会提出各种"新奇"的功能: 一些复杂的界面实现,在RN层面变得异常棘手,所以需要我们从原生层去组建View,在RN中完成渲染: https://github.com…
React Native 仿美团下拉筛选菜单控件 演示效果如下: 使用方法如下: 1.安装 npm install react-native-dropdownmenus --save react-native link react-native-dropdownmenus 2.使用 import React, {Component} from 'react'; import Dropdownmenu from 'react-native-dropdownmenus'; export defaul…
前言 当前 React Native 虽说版本更新比较快,各种组件也提供的很全面了,但是在某些情况下,混合开发的方式才会快速缩短开发周期,原因无非就是原生平台的"底蕴"无疑更深,拥有众多且类型丰富的第三方支持库.很多情况下,运用这些库可以避免苦逼的重复劳动.接下来我们以 jpush-react-native 插件为例来看看在 React Native 中如何使用原生的第三方库. 开始 在开始之前,你必须安装以下软件:npm 命令行工具,react-native 命令行工具, Andro…
React Native常用组件在Android和IOS上的不同 一.Text组件在两个平台上的不同表现 1.1 height与fontSize 1.1.1只指定font,不指定height 在这种情况下,Text组件在两个平台上显示都正常. 可以看到,在垂直方向上,Text组件要比字高,上下都留有富余的空间,这样显示出来美观.但如果仔细看,就会发现Android平台的显示下方所留的控件比IOS平台的显示下方所留的空间要小一些.在IOS平台上,上下富余的空间基本相等:而在Android平台上,上…
React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法 解决办法: 打开android工程,在AndroidManifest.xml中配置如下: <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|sc…
原文发表于我的技术博客 本文主要讲解了如何运行 React Native 官方控件示例 App,包含了一些 React Native 的基础知识以及相关环境的配置. 原文发表于我的技术博客 React Native 以及示例 App 简介 关于 React Native 的简要介绍. {% blockquote http://facebook.github.io/react-native/ %} React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScr…
之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeText3.其实这种教程网上有很多,我只是单纯地把自己的一些经验写出来,也是自己的经历,有地方不对的请指正,感激不尽! 1.Mac开发RN环境搭建 1>安装homebrew,Mac上缺少包管理工具,所以安装Homebrew包管理管理我们需要安装的Node.js等工具和软件. 打开终端输入: /usr/…
参考:原文地址 几个月前官方推出了快速创建工具包,由于对React Native不熟悉这里直接使用这2个工具包进行创建 1. create-react-native-app(下文简称CRNA): 2.Expo(原名Exponent). 第一步 .先安装create-react-native-app $ npm install -g create-react-native-app 下一步:创建 native app create-react-native-app nativedemo 等待执行结果…
比如module目录结构是这样的: 然后libs中的目录是这样的: 只要在build.gradle中加入这段代码就行了 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' jniLibs.srcDirs = ['libs'] java.srcDirs = ['src'] aidl.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.s…