在Swift或Objective-C中,你可以self.frame.size.width
,但在ReactNative中会有什么?
答案 0 :(得分:2)
您应该在视图上运行“measure”方法,以获得宽度(以及其他)(您可以为任何组件运行它,甚至整个视图):
this.refs.myRef.measure((a, b, width, height, px,py ) =>
this.setState({ myWidth: width })
);
请注意,您可能会遇到一些可能出现问题的问题(在安装组件后未定义的引用),这可以通过一个带有超时的丑陋黑客来解决:React-Native : measure a View
答案 1 :(得分:1)
我找到了一个方便的库Dimensions.js
。你可以调用Device.width()
https://github.com/GertjanReynaert/react-native-device
(编辑)的
实际上,该库最终破坏了我的应用程序。一种更简单的方法是需要var Dimensions = require('Dimensions');
内置反应
Dimensions.get('window').width);
regex