0

我创建了一个在手机(纵向)和 10 英寸平板电脑(横向)上运行良好的 android 应用程序。但问题在于 7 英寸平板电脑。它以纵向模式打开,但使用平板电脑的 UI。所以 UI 看起来完全分心。我想在横向模式下以 7 英寸打开应用程序..怎么可能通过代码......?任何建议,将不胜感激,。提前致谢。

清单文件声明---

 <activity
        android:name=".MainActivityTheme"
        android:label="@string/app_name"
        android:screenOrientation="nosensor" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
4

3 回答 3

2

在 /res 目录中创建一个文件夹 aslayout-xlarge-land和另一个 as layout-large-land,在两个文件夹中保留相同的文件,您就完成了。

这些是您应该放置文件的推荐文件夹,这不是完整的列表,但可以附加许多,

layout-xlarge-land  landscape for 10 inch tablets and 10.1
layout-xlarge-port portrait for 10 inch tablets and 10.1
layout-large-land landscape for 7 inch tablets and 7.1
layout-large-port portrait for 7 inch tablets and 7.1

在这些文件夹之间移动您的布局文件以正确使用它。

于 2013-10-21T11:17:26.170 回答
1

我最好发表评论,但还没有足够的声誉。
您应该在 layout-land 目录中定义一些布局,而不仅仅是 layout-land-large。
看起来您的平板电脑有非大屏幕,并且没有非大横向模式的布局。

于 2013-10-21T11:11:26.513 回答
0

最后,我得到了我的答案。我改变了我的清单文件......就像

  <activity
        android:name=".MainActivityTheme"
        android:label="@string/app_name"
        android:configChanges="keyboardHidden|screenSize|orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

并动态改变方向模式......就像

if(isLargeScreen(this))
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

并将所有布局文件移动到 layout-large 文件夹而不是 layout-large-land 中。谢谢你们的帮助。

于 2013-10-22T06:06:03.197 回答