【发布时间】:2012-10-31 12:28:34
【问题描述】:
我有一个构建在手机上的 Android 应用程序,我现在将对其进行更新以支持平板电脑大小的屏幕(尤其是 Galaxy Tab 10.1)。我想出了整个res/layout 的事情,所以没关系。但是,我将我的应用程序构建为在AndroidManifest.xml 中具有固定的屏幕方向,设置为android:screenOrientation="portrait"。
现在,我想要以下内容:为每个屏幕尺寸设置一个固定方向,一个固定为纵向(布局小),另一个固定为横向。
使用res/layout-small-land 和res/layout-large-port 不能满足我的要求,因为它仍然会从纵向切换到横向再返回。更糟糕的是,当我将手机旋转到横向时,应用程序会崩溃,因为 res/layout-small-land 不存在。
我可以通过定义 XML 文件来做到这一点,还是必须添加代码?
【问题讨论】:
-
你在Activity标签中定义了android:configChanges="keyboardHidden|orientation" 吗?
-
没有。但这似乎是方向改变的时候。当平板电脑处于纵向模式并启动应用程序时,我还希望它以横向模式运行。
-
您要为哪种类型的设备设置横向模式?我的意思是(hdpi/ldpi/mdpi)?我想你必须提到这一点。即使您想根据设备屏幕布局更改方向,也不要将固定方向放在该活动的清单文件中。请尝试并告诉我。
-
我想要
large或更大的屏幕为横向,normal或更小的屏幕为纵向。 -
在此处查看接受的答案:Stack Overflow[1] 它看起来像您的答案。 [1]:stackoverflow.com/questions/2402639/…
标签: android android-layout layout