当用户启动我的应用时,有没有办法强制平板电脑处于横向模式作为默认方向。有没有办法用主题或类似的东西来做到这一点,所以用户在启动应用程序时会看到方向更改?
注意:相同的应用程序(应该)是手机的纵向模式
现在我有一个布尔值文件夹refs.xml(值和值都大),平板电脑和手机的值不同,但用户可以看到该应用正在旋转 代码:
public static boolean isTablet(Context context) {
return (context.getResources().getBoolean(R.bool.isTablet));
}
答案 0 :(得分:3)
if (isTablet(getApplicationContext())) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
setContentView(R.layout.yourlayout);
**//this method for check having run in tablet or not??**
public static boolean isTablet(Context context) {
return (context.getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK)
>= Configuration.SCREENLAYOUT_SIZE_LARGE;
}
答案 1 :(得分:1)
景观并不意味着这是平板电脑。您应该为isTablet
中存储的XML文件中的表添加res/values-sw600dp
。
答案 2 :(得分:0)
我认为您只需要在screenOrientation
activity tag
中添加manifest.xml
,如下所示:
<activity>
android:screenOrientation="landscape"
</activity>
您的应用程序将以landscape
模式打开
答案 3 :(得分:0)
您应该在android:screenOrientation="landscape"
文件中使用Manifest
来定义activities
<activity
android:name="com.yourpackage.ActivityClassName"
android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 4 :(得分:-1)
在活动代码下的清单中添加以下行...
android:screenOrientation="landscape"