强制平板电脑处于横向模式

时间:2014-09-03 07:27:51

标签: android android-activity android-fragments android-fragmentactivity android-orientation

当用户启动我的应用时,有没有办法强制平板电脑处于横向模式作为默认方向。有没有办法用主题或类似的东西来做到这一点,所以用户在启动应用程序时会看到方向更改?

注意:相同的应用程序(应该)是手机的纵向模式

现在我有一个布尔值文件夹refs.xml(值和值都大),平板电脑和手机的值不同,但用户可以看到该应用正在旋转 代码:

public static boolean isTablet(Context context) {   
        return (context.getResources().getBoolean(R.bool.isTablet));
    }

5 个答案:

答案 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"