我创建了一个带闪屏的应用。在onCreate我检查设备屏幕大小,我设置启动屏幕方向,protrait为< 5“和横向为更大的屏幕。之后,根据屏幕大小我启动有不同布局的HomeScreenNormal或HomeScreenTablet活动。我有两个问题:
if((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE){ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }
或使用
private float getDeviceWidthInDP(){
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpWidth = outMetrics.widthPixels / density;
return dpWidth;
}
找到设备widthInDp,然后检查是否
if(device_dpWidth > 480){
Intent intent = new Intent(this, HomeScreenTablet.class);
startActivity(intent);
}
以上代码来自stackoverflow 。
我无法将整个应用程序锁定在potrait或横向模式中。我希望大于5英寸的设备的景观和小于5英寸的设备的肖像是纵向的。哪种方法最好?