[Android仅支持移动肖像

问题描述 投票:2回答:2

使Android应用程序仅在移动设备中以纵向模式运行的首页,而在平板电脑中,它既可以纵向也可以横向显示?在此先感谢

android hybrid-mobile-app
2个回答
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(Activity activity) {

        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;
            }
        }

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


0
投票

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

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

让我解释一下:

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

如果设备是电话,则可以通过Activity的onCreate方法调用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);。要确定该设备是电话还是平板电脑,请查看this question

© www.soinside.com 2019 - 2024. All rights reserved.