一.最新版本的expo已经默认支持了全面屏,即不会像react native cli一样出现底部黑边 二.但是全面屏通过Dimensions.get('window')获取的高度还是不准确,因为全面屏的statusBar高度问题. 三.适配方案 通过获取屏幕纵横比来判断是否为全面屏 1.获取宽高 const {width,height} = Dimensions.get('window') 2.计算纵横比 const wh = height/width 3.全面屏手机一般纵横比wh大于1.8,正…
主要记录一下最近使用RN 0.29.2版本遇到的适配的坑以及部分警告的解法. 适配类: 安卓输入框圆角.边框颜色.粗细等无法设置成功,需要在TextInput外面新增一个View设置圆角,TextInput本身设置背景透明可以解决. lineHeight样式在安卓上不能为小数,否则崩溃. TextInput的editable属性设置之后即便为true,iOS的清空按钮也不能点.workaround:不设置editable,通过不更新state来限制输入. Text的numberOfLines设为…
用WebStorm开发RN难免会碰到一大堆黄色警告.就像下面这样. 其实这个错误并不会影响开发,但是作为一个上升处女座的,我很难忍.于是各种想办法. 上网查了半天发现这篇文章 http://blog.csdn.net/gz_jero/article/details/51503374 按照上面的这篇文章做,然后发现作用不是很大,只能去掉很少的警告. 无意间,在一个开发群里寻找到了解决办法,给大家分享出来. 首先,点击WebStorm下面的灯泡 去掉下面的俩勾 完美解决. 更多精彩请关注微信公众账号…
前言 React Native 是以实际像素 dp 为单位的,这导致在不同分辨率的屏幕会有不一样的显示情况. 在原生 Android 中,可以根据不同的分辨率添加不同的样式目录,以解决不同分辨率的问题. 在 web 中常见的屏幕适配方式是使用 rem.vw作为基本单位. 在微信小程序中,使用 rpx 作为屏幕适配单位,结合 px(实际像素)进行页面开发,一个屏幕的宽分为 750 份,每一份的长度则为 1rpx. 我们可以根据微信小程序的适配方案进行 App 的屏幕适配. React Native…
项目背景 在项目的初始阶段,我们需要建立自己的design system,我们spike了一些方案,tailwind-rn就是其中一种,如果有用到或者即将用到tailwind-rn的,可以进来看一看,避免踩坑. 后来觉得项目比较简单,tailwind对新上项目小伙伴确实不太友好,所以我们最终没有采用. 简介 GitHub - vadimdemedes/tailwind-rn: Use Tailwind CSS in React Native projects Tailwind 提倡了原子型的CS…
随着项目也渐渐到了尾声,之前的项目是mobile开发,采用的是React Native.为即将要开始做RN项目或者已经做过的小伙伴可以参考借鉴,也顺便自己做一下之前项目的总结. 文章比较长,可以选择自己感兴趣的章节了解下. 项目整体技术栈: React Native React Navigation Firebase Jotai(项目后期加入) Typescript Jest 1. 配置项目绝对路径 一般的项目都会有一个源代码目录src ,并且随着项目的膨胀,会出现越来越多的子目录,这时候如果不…
建议先下载好资料后,再阅读本文.demo代码和资料下载 目录 一.前言 二.回答一些问题 1.为什么写此教程 2.本文适合哪些人看 3.如何使用本教程 4.需要先学习JavaScript.HTML.CSS么 5.如何编写demo 6.保不保证学习效果 三.第一阶段<相识>(预计用时:9.5~14.5天) 1.内容简介 2.环境搭建(预计用时:1~2天) 3.Hello World(预计用时:0.5天) 4.了解 index.android/ios.js 5.Flex布局(预计用时:2~3天)…
React Native中使用的尺寸单位是dp(一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp = 1px),而设计师使用的是px, 这两种尺寸如何换算呢? 官方提供了PixelRatio进行pt到px的转换import {PixelRatio} from 'react-native';const dp2px = dp=>PixelRatio.getPixelSizeForLayoutSize(dp);const px2dp = px=>PixelRatio.roundToNe…
打开Android开发工具Android Studio,选择菜单 Open an existing AndroidStudio project,打开ch04项目的android文件夹,如图5.8所示. 图5.8  Android原生项目结构 从Android的项目结构,想必读者可以隐约感受到:Android适配是基于文件夹的,不同分辨率和尺寸的屏幕会自动适配相应的文件夹下的布局或资源文件.但是,想要进一步理解Android的适配,有必要先了解Android适配的一些基本概念: 屏幕尺寸:屏幕尺寸…
上周末开始接触react native,版本为0.37,边学边看写了个demo,语法使用es6/7和jsx.准备分享一下这个过程.之前没有native开发和react的使用经验,不对之处烦请指出.希望对在web开发有一定基础,想涉及app开发的同学有帮助,共同进步. 一.环境安装 首先是开发环境安装,我是在win7/8 64位环境下安装的安卓环境.模拟器用的是android studio自带模拟器(android emulator),安卓API 24(7.0),因为我没有mac -.-.文中组件…