React Native 之 Flex

组件的高度,宽度决定了在屏幕上的尺寸。React-Native中尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。

import React, { Component } from ‘react‘;
import { AppRegistry, View } from ‘react-native‘;

class TestSize extends Component {
  render() {
    return (
      <View>
        <View style={{width: 50, height: 50, backgroundColor: ‘powderblue‘}} />
        <View style={{width: 100, height: 100, backgroundColor: ‘skyblue‘}} />
        <View style={{width: 150, height: 150, backgroundColor: ‘steelblue‘}} />
      </View>
    );
  }
};
// 注册应用(registerComponent)后才能正确渲染
// 注意:只把应用作为一个整体注册一次,而不是每个组件/模块都注册
AppRegistry.registerComponent(‘TestSize‘, () =>TestSize);

// 设置了具体的宽、高,那么在任何设备上都是同样的尺寸,不存在适配这么一说。

对应效果图如下:

Flex 

在组件样式中使用Flex 可以使其可以再可利用的空间内动态扩张或收缩,经常会看到flex:1 指定某个控件扩展以充满所有剩余空间。如果多个并列的子组件都是flex:1,这些子组件平分父容器中剩余空间,若这些并列子组件flex都不一样,那么他们会按照比例充满父容器剩余空间(例如3个子组件,flex分别是 2,4,5,那么分别占用父容器剩余空间的2/11, 4/11, 5/11)前提:子组件能够充满父容器剩余空间必须父容器的尺寸不为 0 ,如果父容器既没有指定width+height,同时也没有设定flex:1,那么子组件将不会显示(即使子组件设置了flex)。

import React, { Component } from ‘react‘;
import { AppRegistry, View } from ‘react-native‘;

class TestSize extends Component {
  render() {
    return (
<View style={{flex: 1}}>
        <View style={{flex: 1, backgroundColor: ‘powderblue‘}} />
        <View style={{flex: 2, backgroundColor: ‘skyblue‘}} />
        <View style={{flex: 3, backgroundColor: ‘steelblue‘}} />
      </View>
 ); } }; 

 AppRegistry.registerComponent(‘TestSize‘, () =>TestSize);
如下图:

如果设置父容器宽+高(例如width:50,height:200),如下图

时间: 2024-12-05 13:48:31

React Native 之 Flex的相关文章

React Native布局

一款好的APP离不了一个漂亮的布局,本文章将向大家分享React Native中的布局方式FlexBox. 在React Native中布局采用的是FleBox(弹性框)进行布局. FlexBox提供了在不同尺寸设备上都能保持一致的布局方式.FlexBox是CSS3弹性框布局规范,目前还处于最终征求意见稿 (Last Call Working Draft)阶段,并不是所有的浏览器都支持Flexbox.但大家在做React Native开发时大可不必担心FlexBox的兼容性问题,因为既然Reac

【REACT NATIVE 系列教程之五】NAVIGATOR(页面导航)的基本使用与传参

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2248.html 今天介绍一种应用开发中常用的负责页面切换及导航功能的组件:Navigator 一:Navigator 对于页面导航其实主要功能就是:每个页面都知道本身应该切换到哪个页面,并且切到的页面会记录从哪里来,如果要返回的话,知道返回到哪个页面.这一切都不需要再用逻辑管理!而且每个页面之间也可以进行参数传递,

React Native控件之PullToRefreshViewAndroid下拉刷新组件讲解

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/50664323 本文出自:[江清清的博客] (一)前言 今天我们一起来看一下PullToRefreshViewAndroid下拉刷新组件讲解以及使用实例 刚创建的React Native技术交流群(282693535),欢迎各位大牛,React Native技术爱好者加入交流!同时博客左侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! 该PullToRefr

React Native ——实现一个简单的抓取github上的项目数据列表

/** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; var React = require('react-native'); var { AppRegistry, StyleSheet, Text, Image, View, TextInput, ListView, } = React; var GIT_URL = 'https://api.github.com/sea

React Native FlexBox布局

这段时间熟悉了一下ReactNative,里面的布局感觉很有意思,跟我以前接触的布局思想有很大不同,所以就自己测试了一些FlexBox的属性,一下是效果图: RN的布局主要依赖于FlexBox系统,它有如下几个主要属性: flex 视图的比重,这里注意了:In React Native flex does not work the same way that it does in CSS flexDirection 子视图在容器中排布的方向,这是用来确定主轴的 flexDirection con

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知识2-Text组件

Text用于显示文本的React组件,并且它也支持嵌套.样式,以及触摸处理.在下面的例子里,嵌套的标题和正文文字会继承来自styles.baseText的fontFamily字体样式,不过标题上还附加了它自己额外的样式.标题和文本会在顶部依次堆叠,并且被代码中内嵌的换行符分隔开. 一:属性 1:allowFontScaling bool(iOS特有):控制字体是否要根据iOS的“文本大小”辅助选项来进行缩放. 2:numberOfLines number :用来当文本过长的时候裁剪文本.包括折叠

(一)创建新的react native 应用程序

最近开始学习ReactNative了,首先了解下ReactNative React Native 官网首页介绍 React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验.React Native 把重点放在所有开发人员关心的平台的开发效率上——开发者只需学习一种语言就能轻易为任何平台高效地编写代码.Facebook 在多个应用程序产品中使用了 React Native,并将继续为 React Native 投资. Re

React Native入门遇到的一些问题

本文示例参考自<React Native第一课> React Native官方文档中文版(含最新Android内容) 这里只大概记录下我的操作步骤和遇到的问题,一定要牢记下面这条: 如果你在Mac下遇到提示写入权限时,记得在命令前加上sudo     安装开发所需要的环境,参考这里>>   我所遇到的几个问题: 1) 安装brew curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/