让Android应用程序仅在移动设备中以纵向模式运行的主页,在平板电脑中它允许纵向和横向方向? 提前致谢
答案 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。