React Native FlexBox

FlexBox 是React Native布局的一种算法,目的是为了适配不一样尺寸的屏幕而设计的。react

使用时最关键的就是flex关键字的用法。算法

flex用于修饰当前View在父视图中的占比。react-native

占好比何计算:(flex 为浮点数)布局

  一、当flex <= 0时 flex是无效的。此时视图不会被显示出来flex

  二、当flex > 0 时:spa

    a、当有多个同一层级的视图时 占比为 当前视图占flex/(全部同一层级flex总和)设计

    b、当当前视图的父视图只有一个子View时,即当前视图占满了父视图。io

    c、若是当前视图有子视图的话,子视图的分布是基于当前视图的显示区域的,即:若是当前视图占父视图的0.3,那么当前视图子视图若是此时的class

           flex为0.5的话,这个属于当前视图的子视图在当前视图的父视图中占比为0.3*0.5=0.15import

import React, { Component } from 'react';

import {

  AppRegistry,

  StyleSheet,

  Text,

  View

} from 'react-native';

 export default class DimensionTest extends Component {

  render() {

    return (

    <View style={{flex:0.1}}>

        <View style={{flex:0.5,flexDirection:'column'}}>

            <View style={{flex:3,backgroundColor:'red'}}></View>

            <View style={{flex:2,backgroundColor:'blue'}}></View>

            <View style={{flex:3,backgroundColor:'green'}}></View>

        </View>

             <View style={{flex:5,flexDirection:'row'}}>

            <View style={{flex:3,backgroundColor:'red'}}></View>

            <View style={{flex:2,backgroundColor:'blue'}}></View>

            <View style={{flex:3,backgroundColor:'green'}}></View>

        </View>

    </View>

    );

  }

AppRegistry.registerComponent('DimensionTest',()=>DimensionTest);

相关文章
相关标签/搜索