根据产品要求,我必须将应用的方向保持为手机纵向和平板电脑横向。使用以下代码在onCreate()
调用之前为回调中的每个活动设置方向super.onCreate()
public static void updateOrientation(Activity activity) {
boolean hasAPI18 = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2;
if (isTablet()) {
activity.setRequestedOrientation(hasAPI18 ? ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE : ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
} else {
activity.setRequestedOrientation(hasAPI18 ? ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT : ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
移动版的工作场景:
结果:在肖像活动中,对话框以肖像模式正确显示。
对于手机的错误情况:
结果:在肖像活动中,对话框以横向模式显示,因此仅对话框的2/3部分可见。
已验证:
要解决此问题,我supportLibraryVersion
从更新了23.1.2 to 24.1.1
。我不确定根本原因。我检查了supportLibrary的发行说明,但没有修复与此版本有关的任何错误。但是更新支持库版本有助于我修复它。希望对别人有帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句