React Native学习(九)—— 使用Flexbox布局

本文基于React Native 0.52

Demo上传到Git了,有需要可以看看,写了新内容会上传的。Git地址 https://github.com/gingerJY/React-Native-Demo

一、主轴方向 flexDirection

  flexDirection决定主轴的排列方向。

  1、column——竖直(默认)

  

2、row——水平

 

二、主轴排列方式 justifyContent 

  justifyContent决定其子元素沿着主轴的排列方式。(以下例子主轴方向为row)

  1、flex-start——子元素靠近主轴起始端

    

  2、flex-end——子元素靠近主轴末尾端

    

  3、center——主轴居中

    

  4、space-around 和 space-between 都是均匀分布,区别如下图

      

三、次轴排列方式 alignItems

  alignItems决定其子元素沿着次轴的排列方式。(以下例子主轴方向为row,次轴方向为column

  1、flex-start——子元素靠近次轴起始端

    

2、flex-end——子元素靠近次轴末尾端

    

3、center——子元素次轴居中

    

4、stretch——子元素撑开、填满次轴(子元素在次轴不能有固定尺寸)

    

四、示例代码

可以自己试着改变看看,需要注意的是alignItems设为stretch时,要把子元素的次轴尺寸去掉(例如主轴方向为row,则去掉height)。

import React, { Component } from ‘react‘;
import {
    StyleSheet,
    View,
    Text,
    Dimensions,
} from ‘react-native‘;

// 取得屏幕的宽高Dimensions
const { width, height } = Dimensions.get(‘window‘);

export default class category extends Component {

    render() {
        return (
            <View style={styles.container}>
                <Text>category</Text>
                <View style={styles.flexBox}>
                    <View style={{width: 80, height:80, backgroundColor: ‘powderblue‘}} />
                    <View style={{width: 80, height:80, backgroundColor: ‘skyblue‘}} />
                    <View style={{width: 80, height:80, backgroundColor: ‘steelblue‘}} />
                </View>
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        alignItems: ‘center‘,
    },
    flexBox:{
        width:width,
        height:280,
        borderWidth:1,

        flexDirection:‘row‘,//主轴方向
        justifyContent:‘space-between‘, //flex-start,flex-end,center,space-between,space-around
        alignItems:‘center‘,//flex-start,flex-end,center,stretch
    }
});

  

END-------------------------------------------------------

  

原文地址:https://www.cnblogs.com/MaiJiangDou/p/8746525.html

时间: 2024-11-07 13:19:25

React Native学习(九)—— 使用Flexbox布局的相关文章

React Native(一) FlexBox布局

欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/53241550 本文出自:[余志强的博客] 在React Native中主要使用FlexBox来布局. 安装过React Native的开发环境的就知道,在index.android.js/index.ios.js的文件内容如下: export default class TemplateDemo extends Component { render() { retu

React Native 开发之 (05) flexbox布局

一  flexbox布局 flexbox是ReactNative 应用开发中必不可少的内容,也是最常用的内容. 传统的页面布局是基于盒子模型,依赖定位属性,流动属性和显示属性来解决.对于一些伸缩性的布局,处理起来很是麻烦.于是在2009年,W3C组织提出来一种新的布局方案,既flex布局.

react native 学习一(环境搭配和常见错误的解决)

react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装python2.nodejs.git.Android Studio.这里前面两个都比较好装,android studio装起来相当慢,其实应该只用装sdk就行了,安装sdk可以按http://www.androiddevtools.cn/这个里面的方式设个代理. 软件装好了,就是环境变量设置了,添加AND

React Native学习(1):怎么快速学习一门新技术

React Native学习方法论 这是我技术公众号的第一篇文章,也是ReactNative系列文章的第一篇,对我的文章感兴趣的可以加我微信16230091进行关注. 本文表面上讲React Native(以下简称RN),实际上对于学习任何语言和系统都适用. 对于新技术的学习,分为两种,一种是语言,类似Swift.Objective-C.Java.ES6,另一种是系统,比如Android.iOS.前端. 1. 语言层面,如果你精通某一门语言,那么是可以很快切换到另一门语言的.这就是语言的相通性.

CSS3学习笔记:flexbox布局

这篇文章里我们将学习CSS 里flexbox布局的几个最重要的概念,通过学习flexbox布局,你会发现以往遇到的所有的关于布局的问题,现在都可以轻松解决了. 我们将只关注几个核心概念,等这些核心知识掌握之后,你可以再慢慢的学习那些不重要的相关知识. 1. 容器和容器里的元素 flexbox布局的两个最重要的概念是 容器 (蓝色)和容器里的 子元素 (红色).在本文的例子中, 容器 和它的 子元素 都是 div . 横向布局 为了实现flex布局,我们需要在 容器 的CSS里添加如下代码: .c

React Native学习-将 &#39;screen&#39;, &#39;window&#39; or a view生成图片

https://github.com/facebook/react-native/commit/ac12f986899d8520527684438f76299675dc0daa 这是react-native自带的生成图片的属性,所以使用之前只需要引用UIManager属性即可: View生成图片: state = { uri: null }; takeToImage() { UIManager.takeSnapshot(this.refs.location, {format: 'png', qu

[RN] React Native 使用 FlatList 实现九宫格布局

React Native 使用 FlatList 实现九宫格布局 先看图片演示实例: 本文以图片列表为例,实现九宫格布局! 主要有两种方法: 1)方法一: 利用FlatList的 numColumns ={2} // 一行2个 2)方法二: 利用 FlatList的 contentContainerStyle={styles.listViewStyle} 其中样式如下: listViewStyle: { // 主轴方向 flexDirection: 'row', // 一行显示不下,换一行 fl

React Native超棒的LayoutAnimation(布局动画)

该文翻译自:https://medium.com/@Jpoliachik/react-native-s-layoutanimation-is-awesome-4a4d317afd3e#.6syi2v6yh 刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客右侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! 如果你是用React Native进行开发,然而还没有尝试过使用LayoutAnimation的话,

React Native学习提纲

当前版本最后修订日期: 2015年10月21日 版本 日期 说明 作者 1.0 2015-10-21 创建文档 罗晴明 一. React.js入门基础 1.基础HTML/CSS与基础开发工具使用 html基础doctype.常用标签.标签闭合.自定义属性 css基础选择器(id.class).常用样式.样式覆盖.行内样式.绝对与相对定位.flexbox布局 基础开发工具使用Chrome调试网页.使用Webstorm编辑代码.使用github管理代码与搜索问题 2.基础Javascript与Nod