Android仅在移动设备中支持纵向

时间:2015-01-10 08:03:12

标签: android hybrid-mobile-app

让Android应用程序仅在移动设备中以纵向模式运行的主页,在平板电脑中它允许纵向和横向方向? 提前致谢

2 个答案:

答案 0 :(得分:1)

首先检查您的活动或slpash屏幕,确保应用程序必须在哪个设备上运行。

将以下代码检查到mainActivity或启动画面。

Intent intent;
if (isTablet(DeciderActivity.this)) 
{
   // for Tablet
   intent = new Intent(this, TabletSplashActivity.class);
   startActivity(intent);
} 
else 
{
  // for Phone
  intent = new Intent(this, PhoneSplashActivity.class);
  startActivity(intent);
}

请声明isTablet方法

public static boolean isTablet() {

        DisplayMetrics metrics = new DisplayMetrics();
        activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

        float yInches = metrics.heightPixels / metrics.ydpi;
        float xInches = metrics.widthPixels / metrics.xdpi;
        double diagonalInches = Math.sqrt(xInches * xInches + yInches * yInches);

        if (diagonalInches >= 7) {
                // 7inch device or bigger
                return true;
            } else {
                // smaller device
                return false;
            }
        }

我希望这对你有用,我的代码工作正常。

答案 1 :(得分:0)

在清单中,为您的所有活动设置此项:

<activity android:name=".YourActivity"
    android:configChanges="orientation"
    android:screenOrientation="portrait"/>

让我解释一下:

  • 使用android:configChanges="orientation",您告诉Android您将负责更改方向。
  • android:screenOrientation="portrait"您设置了默认方向模式。

如果设备是手机,您可以调用活动的onCreate方法setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);。要确定设备是手机还是平板电脑,您可以查看this question