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] 早上在论坛上看到有人写了关于图片等比例缩放的文章,只是判断了图片宽是否大于 ...
随机推荐
- 【Web技术】281- 滴滴开源小程序框架 Mpx2.0
滴滴Mpx框架负责人@hiyuki,滴滴出行网约车webapp乘客团队的负责人,也是滴滴开源的小程序框架Mpx的负责人和核心作者 Mpx是一款致力于提高小程序开发体验和效率的增强型小程序框架,目前在滴 ...
- IPV6技术笔记(剖析IPv4toIPv6)
IPV6技术笔记 IPv6地址入门概念 什么是IPv6? IPv6,全称Internet Protocol version 6,即网际协议版本6,也叫互联网通信协议第六版.是互联网工程任务组(IETF ...
- android studio 项目生成的apk变小的原因
问题:感觉直接在apk文件夹下面拷出来的apk不能安装使用,而且apk比较小,可能就是这个问题引起的 Android Studio版本升级到2.3后,增加了instant run功能,对项目的buil ...
- Java面向对象之初始化块
目录 Java面向对象之初始化块 普通初始化块 静态初始化块 初始化块与构造器 Java面向对象之初始化块 在程序设计中,让数据域正确地执行初始化一直是一个亘古不变的真理. 那么,有哪些手段可以初始化 ...
- 由malloc和new引发的段错误
class Queue{ private: struct node{ string data; struct node * next,*priv; } private: struct node * p ...
- CefSharp禁止弹出新窗体,在同一窗口打开链接,或者在新Tab页打开链接,并且支持带type="POST" target="_blank"的链接
说明:在同一窗口打开链接,只要稍加改造就可以实现,这里实现的是在新Tab页打开链接,并且支持带type="POST" target="_blank"的链接 gi ...
- day 28-1 元类
元类 元类的用途:自定义元类控制类的创建行为及类的实例化行为 Python 中一切皆为对象. 一切接对象,对象可以怎么用呢? 1.都可以被引用,x=obj 2.都可以当作函数的参数传入 3.都可以当作 ...
- 在命令提示符下,运行Java程序时,提示"找不到或无法加载主类"
小白:在命令提示符下,运行Java程序时,提示"找不到或无法加载主类". 大神:运行Java程序的作用是让Java解释器装载,检验并运行字节码文件(.class).因此,在运行Ja ...
- Javascript继承的问题
说到Javascript的继承,相信只要是前端开发者都有所了解或应用,因为这是太基础的知识了.但不知各位有没有深入去理解其中的玄机与奥秘.今本人不才,但也想用自己的理解来说一说这其中的玄机和奥秘. 一 ...
- iOS WKWebView与JS的交互
参考链接:https://www.jianshu.com/p/524bc8699ac2