zoukankan      html  css  js  c++  java
  • React Native FlexBox

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

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

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

    占比如何计算:(flex 为浮点数)

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

      2、当flex > 0 时:

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

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

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

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

    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);

  • 相关阅读:
    [笔记] 基于nvidia/cuda的深度学习基础镜像构建流程
    [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程
    [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
    [笔记] Ubuntu 18.04安装cuda 10及cudnn 7流程
    [笔记]Win10下编译Tesseract-OCR 4.0
    [笔记]Python中模块互相调用的例子
    [笔记]mosh使用笔记
    [笔记]Delphi 2007写DLL供VC调用实例
    [笔记]Python的调试器pudb简易教程
    [笔记] Ubuntu下编译ffmpeg+openh264+x264
  • 原文地址:https://www.cnblogs.com/codetime/p/6245279.html
Copyright © 2011-2022 走看看