Android方向锁定根据屏幕大小

时间:2013-11-19 17:18:42

标签: android screen-orientation

我创建了一个带闪屏的应用。在onCreate我检查设备屏幕大小,我设置启动屏幕方向,protrait为< 5“和横向为更大的屏幕。之后,根据屏幕大小我启动有不同布局的HomeScreenNormal或HomeScreenTablet活动。我有两个问题:

  1. 使用
  2. 检查大于5英寸的屏幕是否更好
    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

    1. 我无法将整个应用程序锁定在potrait或横向模式中。我希望大于5英寸的设备的景观和小于5英寸的设备的肖像是纵向的。哪种方法最好?

      1. 使用在清单中声明适当的活动? 或
      2. 在每项活动的onCreate中使用

0 个答案:

没有答案