我想设置Portrait Orientation
并锁定ldpi and mdpi screens
。并希望为hdpi and xhdpi
设置横向和锁定。
在10 inch tablets
中打开应用时,landscape
应该是portrait
。android mobile
。就像应用程序在portrait
中打开时一样,它应该在not landscape
switch (getResources().getDisplayMetrics().densityDpi) {
case DisplayMetrics.DENSITY_LOW:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
case DisplayMetrics.DENSITY_MEDIUM:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
case DisplayMetrics.DENSITY_HIGH:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case DisplayMetrics.DENSITY_XHIGH:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
}
中。
所以请帮我解决这个问题。
请参阅此问题,其作品适合我:)
How to check an Android device is HDPI screen or MDPI screen?
{{1}}
答案 0 :(得分:3)
首先查看here以查找设备是hdpi还是mdpi或xhdpi等等。
基于此锁定您的屏幕方向。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (ldpi || mdpi) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else if(hdpi || xhdpi) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}