2

我正在开发一个 Android 应用程序,我想支持所有设备尺寸,从手机到全尺寸平板电脑。我想将应用程序限制为仅在较小的设备上使用纵向,并允许在设备较大时在横向使用不同的、对大屏幕更友好的 UI。到目前为止,我无法找到任何方式,更不用说优雅的方式来限制活动以允许基于设备屏幕尺寸的方向。

例如:运行应用程序的智能手机只允许使用 layout-small 和 layout-normal 中的布局资源,根本不允许使用横屏。更大的平板设备可以使用对大屏幕更友好的 UI,并且允许纵向和横向使用,每个方向都有独特的 UI。

任何提示将非常感谢。

4

2 回答 2

1

要强制 Activity 进入纵向模式,您可以在 Android Manifest 中设置它,但这样您就无法为较小的屏幕指定它,我相信这是不可能的。此外,您应该小心这样做,因为某些手机是为横向模式制造的。 http://developer.android.com/guide/topics/manifest/activity-element.html#screen

要为特定屏幕尺寸提供替代布局,您可以通过在文件夹名称中添加参数来实现

/res/layout-small/main.xml
/res/layout-normal/main.xml
/res/layout-large/main.xml
/res/layout-xlarge/main.xml

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

于 2011-04-03T19:19:06.650 回答
0

您可以尝试使用以下方式以编程方式获取屏幕尺寸:

int width = display.getWidth();
int height = display.getHeight();

然后根据屏幕大小是否在特定边界之间允许/禁止?

于 2011-04-03T20:49:30.850 回答