如何在横向模式下获取屏幕宽度

时间:2018-04-06 18:17:18

标签: react-native styles

我想让React Native中的一些组件在纵向模式和横向模式下都具有屏幕宽度。目前我在这样的风格中得到它的肖像:

width: Dimensions.get('window').width

但这对景观不起作用。当我切换设备时,组件的宽度不会覆盖横向屏幕的宽度。它是屏幕的一半。

请如何让它填满屏幕宽度?

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作

_onLayout = event => console.log(event.nativeEvent.layout); // width, height, x, y

 // On your Wrapper
 <View onLayout={this._onLayout} />

正如docs

中所述
{nativeEvent: { layout: {x, y, width, height}}}

答案 1 :(得分:0)

在纵向模式下,您可以将宽度设置为窗口的宽度和高度,例如:

width: Dimensions.get('window').width

但是,在横向模式下,窗口的宽度和高度会互换。因此,在这种情况下,您必须将宽度设置为:

width: Dimensions.get('window').height

答案 2 :(得分:-1)

如果您知道render中的屏幕宽度就足够了,只需在Dimensions.get('window').width方法中使用render即可。此调用的结果将随着方向而改变。