如何根据使用的设备更改 androidmanifest.xml 上的设备方向
How to change device orientation on androidmanifest.xml based on device using
如何根据我使用的设备在 androidmanifest.xml 上更改设备方向。如果我使用平板电脑的示例.. 它将是横向的,而当我使用 android phone 时它将是纵向的。
在React-Native中,您可以使用react-native-orientation to lock the orientation of the device. Then, you can use react-native-device-info获取设备信息并相应地锁定方向。
所以在你的情况下你不能通过 android 清单来做。您需要根据设备动态更改方向。
所以你必须构建一个原生模块。将其公开以响应 nativeRN-native modules
并根据您的设备类型使用它。它是一个非常简单的本地模块,就像你必须设置方向
@ReactMethod
public void setOrientation(String type) {
if(type == 'landscape'){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
if(type == 'portrait'){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
所以基本上这个方法会暴露给你的 React Native 端。您需要检测设备类型。
希望对您有所帮助。如有任何疑问,请随意。
如何根据我使用的设备在 androidmanifest.xml 上更改设备方向。如果我使用平板电脑的示例.. 它将是横向的,而当我使用 android phone 时它将是纵向的。
在React-Native中,您可以使用react-native-orientation to lock the orientation of the device. Then, you can use react-native-device-info获取设备信息并相应地锁定方向。
所以在你的情况下你不能通过 android 清单来做。您需要根据设备动态更改方向。
所以你必须构建一个原生模块。将其公开以响应 nativeRN-native modules
并根据您的设备类型使用它。它是一个非常简单的本地模块,就像你必须设置方向
@ReactMethod
public void setOrientation(String type) {
if(type == 'landscape'){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
if(type == 'portrait'){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
所以基本上这个方法会暴露给你的 React Native 端。您需要检测设备类型。
希望对您有所帮助。如有任何疑问,请随意。