7英寸平板电脑定位查询

时间:2013-10-21 10:57:23

标签: android orientation screen-orientation android-orientation

我创建了一个在手机(肖像)和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>

3 个答案:

答案 0 :(得分:2)

在/ res目录中创建一个文件夹layout-xlarge-land,另一个文件夹创建为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

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

答案 1 :(得分:1)

我最好留言,但还没有足够的声誉 你应该在layout-land目录中定义一些布局,而不仅仅是layout-land-large 您的平板电脑看起来非常大,并且没有适用于非大型横向模式的布局。

答案 2 :(得分: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。 谢谢你们的帮助。