React Native学习-measure测量view的宽高值

measure()测量是根据view标签中的ref属性,使用方法如下:

measureWatermarkerImage(){ this.refs.watermarkerImage.measure((a, b, width, height, px, py) =>     this.setState({watermarkerImageWidth: width})  );}

with:宽;height:高;px:x轴方向距离左边多少像素;py:y轴方向距离上边多少像素;

根据项目需要,如果需要在页面加载完成后进行测量view,就需要使用setTimeout():

componentDidMount() {    setTimeout(this.measureWatermarkerImage.bind(this));};
时间: 2024-11-08 23:23:22

React Native学习-measure测量view的宽高值的相关文章

React Native学习-将 'screen', 'window' 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

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. 语言层面,如果你精通某一门语言,那么是可以很快切换到另一门语言的.这就是语言的相通性.

React Native学习(一) 环境搭建

需安装工具 RN环境: [必须] Node [必须] react-native-cli [可选] Node Package Manager(npm):node包管理工具,一般安装Node会带上npm * [可选] Node Version Manager(nvm):node版本管理工具 * [可选] watchman * [可选] flow iOS端: [必须] Xcode 安卓端: [必须] Java环境 [必须] Android Studio [必须] Android SDK [必须] AN

android 在onCreate方法中获得view的宽高

view在绘制完成后才会有自己的宽高,所以在onCreate中要获得view的宽高可以通过以下4中方法: 1.ViewTreeObserver:监听界面绘制事件,在layout时调用,使用完毕后记得removeListener 2.view.post,因为runnable对象会在view的measure.layout后触发 3.重写onLayout方法 4.使用getMeasuredWidth.getMeasuredHeight获得测量后的宽高,可能跟view的真实宽高有差距

在渲染前获取 View 的宽高

在渲染前获取 View 的宽高 这是一个比较有意义的问题,或者说有难度的问题,问题的背景为:有时候我们需要在view渲染前去获取其宽高,典型的情形是,我们想在onCreate.onStart.onResume中去获取view的宽高.如果大家尝试过,会发现,这个时候view还没有measure好,宽高都为0,那到底该怎么做才能正确获取其宽高呢,下面给出三种方法(还有其他方法, 比如监听器回调等): Activity/View#onWindowFocusChanged :这个方法表明,view已经初

android中view的宽高测量

/// 一般的,view测量的方法: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView imageView = (ImageView) findViewById(R.id.imageview); int w = View.MeasureSpec.makeMeasu

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.fle

React Native学习笔记(一)Mac OS X下React Native的环境搭建

本文介绍Mac OS X系统下的React Native环境搭建过程. 1.环境要求: 1) Mac OS X操作系统 2) Xcode6.4或以上版本 3) Node.js4.0或以上版本 4) watchman和flow 2.安装过程 1) Node.js的安装可以在Node.js的官网https://nodejs.org/ 中下载最新的版本.这里下载的是node-v4.4.2.pkg版本.直接双击运行安装就可以了.查看是否安装成功可以在终端中输入如下命令: $node -v 如果能够显示版