ReactNative: 使用尺寸类Dimensions获取屏幕尺寸
一、简介
在前面创建使用组件时,虽然使用的都是伸缩盒子布局,但是很少使用宽高来进行绝对定位。在iOS中可以通过UIScreen控件获取当前屏幕的宽高,同样地,在RN中提供了一个尺寸组件Dimensions,英文译为“英尺”,开发者通过它也能拿到当前屏幕的宽和高。Dimensions组件类中,声明的函数属性都是静态的,直接通过类名调用即可。
//设置尺寸
static set(dims: {[key:string]: any}): void {} //获取尺寸
static get(dim: string): Object {} //添加监听
static addEventListener {} //移除监听
static removeEventListener {}
二、使用
/**
* Sample React Native App
* https://github.com/facebook/react-native
* @flow
*/ import React, { Component } from 'react'; import {
AppRegistry,
StyleSheet,
View,
Dimensions
} from 'react-native'; //计算屏幕的宽高
let {width, height} = Dimensions.get('window'); export default class ReactNativeDemo extends Component { constructor(props){
super(props);
this.printWindowWidth();
this.printWindowHeight();
} //打印屏幕的高度
printWindowWidth(){
console.log("iphone8 window width is "+ width);
} //打印屏幕的宽度
printWindowHeight(){
console.log("iphone8 window height is "+ height);
} render() {
return (
<View style={styles.flex} />
);
}
} const styles = StyleSheet.create({
flex: {
flex:
}
}); AppRegistry.registerComponent('ReactNativeDemo', () => ReactNativeDemo);
当前iphone8的尺寸打印如下:
-- ::38.823 [info][tid:com.facebook.react.JavaScript] Running application "ReactNativeDemo" with appParams: {"rootTag":,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF
-- ::38.849 [info][tid:com.facebook.react.JavaScript] iphone8 window width is
-- ::38.851 [info][tid:com.facebook.react.JavaScript] iphone8 window height is
ReactNative: 使用尺寸类Dimensions获取屏幕尺寸的更多相关文章
- 工具类 dp转px 获取图片实际尺寸 获取屏幕尺寸
dp转px public class Dp2pxUtils { public static int Dp2Px(Context context, float dp) { final float sca ...
- Android计量单位px,in,mm,pt,dp,dip,sp和获取屏幕尺寸与密度
###########################################Android计量单位########################################### px ...
- react-native获取屏幕尺寸
项目中需要获取手机的尺寸 import {Dimensions} from "react-native" var WINDOW = Dimensions.get("win ...
- javascript中获取屏幕尺寸
Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小 屏幕的有效宽:window.screen.availHeight屏幕的有效高:window.screen.availWid ...
- iOS之获取屏幕尺寸
//app尺寸,去掉状态栏 CGRect appRect = [UIScreenmainScreen].applicationFrame; NSLog(@"%f, %f, %f,%f&quo ...
- IOS中获取屏幕尺寸
//app尺寸,去掉状态栏 CGRect appRect = [UIScreen mainScreen].applicationFrame; NSLog(@"%f, %f, %f,%f&qu ...
- android 获取屏幕尺寸
文章转载自:http://blog.csdn.net/congqingbin/article/details/7474276// 通过WindowManager获取 DisplayMetrics dm ...
- Android 获取屏幕尺寸与密度
android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533 结果很不靠谱,于是自己写了几行代码,亲 ...
- 【转】微信小程序开发之图片等比例缩放 获取屏幕尺寸图片尺寸 自适应
原文[https://blog.csdn.net/qq_31383345/article/details/53127804] 早上在论坛上看到有人写了关于图片等比例缩放的文章,只是判断了图片宽是否大于 ...
随机推荐
- 大数据学习笔记——HDFS写入过程源码分析(2)
HDFS写入过程注释解读 & 源码分析 此篇博客承接上一篇未讲完的内容,将会着重分析一下在Namenode获取到元数据后,具体是如何向datanode节点写入真实的数据的 1. 框架图展示 在 ...
- kubernetes-部署harbor
Habor是由VMWare中国团队开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于 ...
- 小胖求学系列之-文档生成利器(上)-smart-doc
最近小胖上课总是挂着黑眼圈,同桌小张问:你昨晚通宵啦?小胖有气无力的说到:最近开发的项目接口文档没写,昨晚补文档补了很久,哎,昨晚只睡了2个小时.小张说:不是有生成文档工具吗,类似swagger2.s ...
- eclipse设置护眼模式,就是设置为黑色背景,
效果如上图 首先下载jar包,然后放到下面的目录,然后打开eclipse然后选择哪个dark的那个主题就可以了 然而这里只是设置软件部分的, 代码的背景和高亮显示,是在另外一个地方设置, 一般是下载e ...
- SQL-SQL查询检索阶段二
一 前提准备 先声明一下,下面的库表只是简易的学习示例,不是生产的设计,不要深究,此文我们的目的是学习sql的检索不是库表设计:初学者最好跟着作者的文章一步一步敲一遍,如果没有使用过sql的可以查阅作 ...
- ActiveMQ消息队列从入门到实践(4)—使用Spring JMS收发消息
Java消息服务(Java Message Service ,JMS)是一个Java标准,定义了使用消息代理的通用API .在JMS出现之前,每个消息代理都有私有的API,这就使得不同代理之间的消息代 ...
- Java并发之synchronized关键字深度解析(三)
前言 本篇主要介绍一下synchronized的批量重偏向和批量撤销机制,属于深水区,大家提前备好氧气瓶. 上一篇说完synchronized锁的膨胀过程,下面我们再延伸一下synchronized锁 ...
- Ubuntu下交换CTRL与CAPSLOCK
1.编辑文件 keyboard sudo vim /etc/default/keyboard 2. 添加内容 XKBOPTIONS="ctrl:swapcaps" 3. reboo ...
- jTopo HTML5 Canvas 画图组件
jTopo是什么? jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的关系.拓扑图形化界面开发工具包. jTopo关注于数据的图形展示,它是面 ...
- Android 日期对话框 DatePickerDialog
private int year; private int monthOfYear; private int dayOfMonth; @Override protected void onCreate ...