我创建了一个在手机(肖像)和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>
答案 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。 谢谢你们的帮助。