react native 之页面布局
第一章 flexbox 布局
1.flexDirection:'row', 水平 flexDirection:'column',垂直
需要在父元素上设置这种属性才能实现flex. flex:1 会撑满整个屏幕.
demo:如果一行有3格,则所有的flex:1 ,这样会平分width;
在flexbox中一般view不用设置固定的高度,都是以子元素撑开父元素,设置相应的margin padding 之类的属性值 .
2.flexbox 中的width 与height 是没有单位的 一般格式是 height: 20, 单位是手机根据屏幕自己改变的,跟rem有点相似.
3.在react native 布局中,样式的引入是以数组的形式引入的.
<Text style={[styles.navtext,styles.navtext]} onPress={() => navigator.push({name:'Index'})}>活动</Text>
4. 页面的横竖屏切换,出现滚动条,需要运用<scrollview>这个属性
5. 主页面需要引入代码中用到的相关组件与标签
import React, {Component} from 'react';
import {
StyleSheet,
Text,
View,
Navigator,
AppRegistry,
} from 'react-native';
第二章 component
1. 可以将其中的一些<view> 以component拆开,让后以标签的形式引入组件
组件的输出
export default class NavComponent extends Component
export default = 'NavComponent' 元素的导入
import NavComponent from .... <NavComponent/>
2.<Navigator/> 标签是包括<view/> 这些标签的,不可以用component 的方式引入.
3.<ListView/> 属性,这个属性不会立即渲染页面,跟前前端的瀑布流相似,不同之处在于滚动条上端隐藏的页面会被自动切除,而不是隐藏.
第三章 props 与 state
1.props 是相关的属性值,比如<Img/> 标签的值,属性是不可以改变的.
2.state 表示数据,是可以改变的,store 是数据库,存储state.
3. 对于component,是需要初始化数据的,也就是state,其中super() 是 写的,初始化系统的数据;
如果在component 外,则不需要这行代码,会报错.
class Blink extends Component {
constructor(props) {
super(props);
this.state = { showText: true };
4.引入一个本地的json 文件,需要的就是props ,初始化数据,然后在渲染到页面中.
先用props 初始化数据:
constructor(props) {
super(props);
然后就是定义数据
<Header data={twitter[0].user}/>
之后header 标签中可以直接用 this.props.data. ...直接调用
<View style={[styles.row,styles.head]}>
<Image source={{uri:this.props.data.avatar}} style={{width: 40, height: 40}}/>
<View style={styles.headtext}>
<Text style={[styles.react,styles.textColor]}>{this.props.data.name} </Text>
<Text style={styles.reactjs}>@{this.props.data.handler}</Text>
</View>
<Image source={require('./icons/settings.png')} style={{width: 20, height: 20,}}/>
<Button />
</View>
react native 之页面布局的更多相关文章
- 从零学React Native之06flexbox布局
前面我们接触了好多React Native代码, 并没有介绍RN中的组件具体是如何布局的,这一篇文章,重点介绍下flexbox布局. 什么是flexbox布局 React中引入了flexbox概念,f ...
- React Native知识1-FlexBox 布局内容
一:理论知识点 1:什么是FlexBox布局? 弹性盒模型(The Flexible Box Module),又叫Flexbox,意为“弹性布局”,旨在通过弹性的方式来对齐和分布容器中内容的空间,使其 ...
- React Native 系列(四) -- 布局
前言 本系列是基于React Native版本号0.44.3写的.RN支持CSS中的布局属性,因此可以使用CSS布局属性,这里就不详细地讲解了,这篇文章的重点主要是讲述一下RN中的Flex布局. CS ...
- React Native之FlexBox布局
参考原文链接:https://www.cnblogs.com/wujy/p/5841685.html 弹性盒模型(The Flexible Box Module),又叫Flexbox,意为“弹性布局” ...
- react native 之页面跳转
第一章 跳转的实现 1.component 中添加这行代码 <View style={styles.loginmain}> <Text style={styles.loginte ...
- 混合开发的大趋势之一React Native之页面跳转
转载请注明出处:王亟亟的大牛之路 最近事情有点多,没有长时间地连贯学习,文章也停了一个多礼拜,愧疚,有时间还是继续学习,继续写! 还是先安利:https://github.com/ddwhan0123 ...
- 混合开发的大趋势之一React Native之页面跳转(2)+物理返回+特定平台代码
转载请注明出处:这里写链接内容 今天是10月份的最后一天,我加了3个月来的第一个班,挤出了这篇. 废话不多先安利,然后继续学习 RN 有好东西都往里面丢,努力做好归纳 https://github.c ...
- React Native,flexbox布局
Flexbox布局 flex:使组件在可利用的空间内动态地扩张或收缩.flex:1会使组件撑满空间.当有多个组件都指定了flex的值,那么谁的flex值大谁占得空间就大,占得大小的比例就是flex值的 ...
- [技术博客]React Native——HTML页面代码高亮&数学公式解析
问题起源 原有博文显示时代码无法高亮,白底黑字的视觉效果不好. 原有博文中无法解析数学公式,导致页面会直接显示数学公式源码. 为了解决这两个问题,尝试了一些方法,最终利用开源类库实现了页面美化. (失 ...
随机推荐
- Spring的声明式事务管理<tx:advice/> 有关的设置
<tx:advice/> 有关的设置 这一节里将描述通过 <tx:advice/> 标签来指定不同的事务性设置.默认的 <tx:advice/> 设置如下: 事务传 ...
- android系统编译打开系统蓝牙
在项目配置文件ProjectConfig.mk中开启蓝牙以后,但是设置菜单中并没有出现蓝牙选项,最后发现是因为ProjectConfig.mk同级目录下没有蓝牙配置文件android.hardware ...
- msp430项目编程57
msp430综合项目---扩展项目七57 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结
- Linux c内存泄漏检测
在Linux下些C语言程序,最大的问题就是没有一个好的编程IDE,当然想kdevelop等工具都相当的强大,但我还是习惯使用kdevelop工具,由于没有一个习惯的编程IDE,内存检测也就成了在Lin ...
- Laravel 5.1的多路由文件的配置
Laravel 5.1的多路由文件的配置 默认的路由配置文件只有一个,\app\Http\routes.php.在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件.找到加载\app ...
- 【编码】封装RedisPubSub工具
基本介绍 核心原理:利用Redis的List列表实现,发布事件对应rpush,订阅事件对应lpop 问题一:Redis不是自带Pub/Sub吗? redis自带的pub/sub有两个问题: 1.如果发 ...
- Struts2牛逼的拦截器,卧槽这才是最牛的核心!
struts 拦截器 一 拦截器简介及简单的拦截器实例 Struts2拦截器是在访问某个Action或者Action的某个方法,在字段前或者之后实施拦截,并且Struts2拦截器是可以插拔的,拦截器是 ...
- ueditor整合之后前段不显示高亮
自己整合ueditor插件后,发现在前段显示的时候并没有高亮处理 在网上看了一些方法后,自己尝试了下. 1.在页面上引入相关的js和css文件 主要是以下两个文件 <script src=&qu ...
- 使用Myeclipse + SVN + TaoCode 免费实现项目版本控制的详细教程
通过Myeclipse + SVN插件 + TaoCOde可以省去代码仓库的租建:同时还可以很好的满足小团队之间敏捷开发的需求.接下来详细介绍整个搭建流程. 首先,介绍所用到的工具: 1,Myecli ...
- Halcon导出的cpp, VC++环境配置
方式一: 1.project ->设置(Alt+F7) -> C/C++ ->分类:预处理器 ->附加包括路径 添加:$(HALCONROOT)/include,$(HAL ...