我有一个android应用程序建立在手机上,我现在要更新它来支持平板电脑大小的屏幕(特别是galaxy tab 10.1)。我搞清楚了整件事,所以没关系。但是,我构建的应用程序在res/layout
中有一个固定的屏幕方向,设置为AndroidManifest.xml
。
现在,我想有以下几点:对每一个屏幕大小有一个固定的方向,一个固定在纵向(小布局),另一个固定在横向。
使用android:screenOrientation="portrait"
和res/layout-small-land
并不能达到我想要的效果,因为它仍然可以从纵向切换到横向和向后。更糟糕的是,当我将手机旋转到横向时,应用程序崩溃,因为res/layout-large-port
不存在。
我可以通过定义xml文件来实现这一点,还是必须添加代码?
最佳答案
您可以使用setRequestedOrientation
,而不是修复清单上的方向。在每个活动的onCreate
方法中,检查您是否在平板电脑或智能手机上,并设置所需的方向。
另一个选择可能是Creating Multiple APKs for Different Screen Sizes,这取决于您的需要。