提示:在运行一个嵌入了RN的工程里面 需要先进入到工程根目录运行
npm start然后运行工程在模拟器上 每次改动js文件保存后,点击两次R键,就可直接刷新项目。如果是真机摇一摇选择load js 即可更新

#Flexbox是什么?
**Flexbox:**用来指定某个子元素布局,Flexbox可以在不同屏幕尺寸上提供一致的布局结构。
个人理解类似于安卓中的RelativeLayout,只是类似,便于安卓小伙伴方便理解。
下面先看一下运行后的结果,贴出了js代码:

import React, { Component } from 'react';
import {AppRegistry,StyleSheet,Text,View,TextInput
} from 'react-native';class hello extends Component{render(){return(<View style = {{flex:1}}><View style={{width:50,height:50,backgroundColor:'powderblue'}}/><View style={{width:50,height:50,backgroundColor:'skyblue'}}/><View style={{width:50,height:50,backgroundColor:'steelblue'}}/></View>);}
};AppRegistry.registerComponent('hello', () => hello);

#Flexbox容器三个重要属性
flexDirection, justifyContent, alignItems
有个这三个属性我们就能实现子元素任意摆放。
接下来让我们一一探索一下。
##flexDirection
在组件的style中指定flexDirection可以决定布局的主轴。
flexDirection:‘row’ 横向
flexDirection:‘column’ 纵向
默认是column

style = {{flex:1,flexDirection:'row'}}


<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column'}}


从这张图可以看出来和我们第一张一样,可以说明flexDirection不写默认是column。

justifyContent

justifyContent是确定子元素在主轴上的位置,是在中间,在起始点还是终点。有flex-start、center、flex-end、space-around以及space-between我们一一分析。

style = {{flex:1,flexDirection:'column',justifyContent:'center'}}

从代码中可以看出我们主轴是纵向的,主轴上的位置为center

<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column',justifyContent:'flex-start'}}


<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column',justifyContent:'flex-end'}}


<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column',justifyContent:'space-around'}}

space-around是在主轴上平均分布比例1:1:1

<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column',justifyContent:'space-between'}}


space-between是将首尾占据之后,在这两个之间平分。
<--------------------------------------------------------------------------->
##alignItems
alignItems是确定子元素在辅轴上的位置,所谓辅轴就是与主轴垂直的轴。分别有flex-start、center、flex-end以及stretch。
下面让我们看看效果。

style = {{flex:1,flexDirection:'column',justifyContent:'center',alignItems:'center'}}


这里主轴是纵轴,主轴上的位置是居中,辅轴上的位置也是居中。
<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column',justifyContent:'center',alignItems:'flex-start'}}


<--------------------------------------------------------------------------->

style = {{flex:1,flexDirection:'column',justifyContent:'center',alignItems:'flex-end'}}

<--------------------------------------------------------------------------->
最后一个是stretch–填充。这个是最麻烦的。首先当你直接设置alignItems:'stretch’发现没有出校填充的效果。这是因为你需要把对应的宽高限制去掉才会有显示。比如当你主轴是纵轴那你需要把宽去掉才有效果,如果主轴是横轴需要把高度去掉。如下代码和图片便于理解。

 <View style = {{flex:1,flexDirection:'column',justifyContent:'center',alignItems:'stretch'}}><View style={{height:50,backgroundColor:'powderblue'}}/><View style={{height:50,backgroundColor:'skyblue'}}/><View style={{height:50,backgroundColor:'steelblue'}}/></View>

这里我的主轴是纵轴 所以我把宽度取消。
想要更有体会,自己可以一个个属性切换体验一下。

#Flexbox伸缩项目的属性
这里大家可能会混乱那上面的属性是什么。上面是Flexbox容器的属性,下面要介绍的是容器里面具体项目使用到的属性。
##order
定义项目的排列顺序,数值越小排列越靠前,默认为0,语法order: 整数

扫码关注公众号“伟大程序猿的诞生“,更多干货新鲜文章等着你~

公众号回复“资料获取”,获取更多干货哦~

有问题添加本人微信号“fenghuokeji996” 或扫描博客导航栏本人二维码

【React Native 安卓开发】----(Flexbox布局)【第二篇】相关推荐

  1. 手把手教React Native实战开发视频教程 干货

    手把手教React Native实战开发视频教程[更新到70集啦...] ================================ 由于360云盘关闭,作者已经将资源迁移.需要的朋友请访问一下 ...

  2. 【苹果家庭推iiMessage】React Native举行开发仍是iOS,用原生的代码实现类似webview的页面

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  3. React Native 移动开发入门与实战

    课程简介 本课程主要讲解 React 的基础知识及应用案例,包括 props.state.生命周期函数等,样式和 Flex 布局,React Native 内置的 API 和 UI 组件介绍.路由.状 ...

  4. React Native移动开发实战-4-Android平台的适配

    打开Android开发工具Android Studio,选择菜单 Open an existing AndroidStudio project,打开ch04项目的android文件夹,如图5.8所示. ...

  5. Android之Windows下搭建React Native Android开发环境(差不多搞了一天)

    Android之Windows下搭建React Native Android开发环境               穷逼买不起mac,但是他们都说React Native Android只能在mac下面 ...

  6. 安卓开发学习日记第二天_破坏陷阱卡之sync的坑_莫韵乐的快乐笔记

    安卓开发学习日记第二天 前情提要:第一天的日记 经过第一天的日记,我们顺利第安装上了Android Studio3.6 第二天内容包括: 1.推荐的文件目录结构 2.如何创建一个项目 3.遇到sync ...

  7. Android原生(Native)C开发之二 framebuffer篇

    为什么80%的码农都做不了架构师?>>>    Android原生(Native)C开发之二 framebuffer篇 如对Android原生(Natvie)C开发还任何疑问,请参阅 ...

  8. React Native填坑之旅--动画篇

    React Native填坑之旅--Button篇 React Native填坑之旅--动画 React Native填坑之旅--HTTP请求篇 动画是提高用户体验不可缺少的一个元素.恰如其分的动画可 ...

  9. ASP.NET自定义控件组件开发 第一章 第二篇 接着待续

    ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 很感谢大家给我的第一篇ASP.NET控件开发的支持!在写这些之前,我也看了一些例 ...

  10. React Native组件开发指南

    React Native的组件开发一直处在一个比较尴尬的处境.在官方未给予相关示例与脚手架的情况下,社区中依然诞生了许许多多的React Native组件.因为缺少示例与规范,很多组件库仅含有一个in ...

最新文章

  1. 百度地图轨迹回放,自定义路书,边走边画线
  2. ASP.NET设置焦点到输入框
  3. 信息系统项目管理师:第1章:信息化与信息系统(4)-重点汇总
  4. 【译】LXC and LXD: Explaining Linux Containers
  5. 修改mysql的用户密码
  6. 1台车至少赚1万块!华为卖车,两天订单破3000辆
  7. PMC联手云合作伙伴Canonical加入其Ubuntu OpenStack互通性实验室
  8. OS开发(Objective-C)常用库索引
  9. 天啊!才几天没去看新闻,WinCE就有这么“爆炸”的新闻了?
  10. 5A通过PMP考试分享
  11. FireMonkey v1.1的WinSoft WinRT-10.3-SEO-狼术
  12. 读ISSCC TOF部分论文
  13. 【爬虫学习笔记day44】5.2. (scrapy案例二)阳光热线问政平台爬虫
  14. 树莓派入门:一篇解决树莓派系统安装启动及远程连接的多种方式
  15. MACD底背离选股公式——通达信、同花顺
  16. hive 学习系列五(hive 和elasticsearch 的交互,很详细哦,我又来吹liubi了)
  17. LeTeX的下载与安装
  18. RequireJS - 用法
  19. 女孩子的试炼html5魔塔
  20. 作图,用ECharts就够了

热门文章

  1. java mybatis缓存机制_mybatis缓存机制与陷阱
  2. Git pull(拉取),push(上传)命令整理
  3. SLAM_2021_F-LOAM:基于激光雷达的快速里程计和建图
  4. 基于图像的相机定位/SLAM分类
  5. 第一次敲hdu蟠桃树和第二次的区别
  6. 结构光相移法-多频外差原理+实践(上)
  7. 介绍一篇路端传感器的cooperative perception(3D目标检测)论文
  8. 【UOJ#177】欧拉回路
  9. Spring与Struts2的整合
  10. Codeforces Round #260 (Div. 1) A - Boredom DP