2

我有一个应用程序,问题是它需要支持平板电脑和手机。但是,在平板电脑上,您可以使用横向而不是 portret,因为它足够大,可以显示所有内容。然而在手机上,这一切都搞砸了,因为屏幕太小了。

我想禁用手机而不是平板电脑的横向视图。

我看到您可以在 manifest.xml 文件中定义肖像,但是是否可以根据布局 xml 禁用它?

例如:

-phones 使用 layout-hdpi -tablets 默认为 layout

如果设备使用 layout-hdpi,则应仅启用纵向,否则可以进入横向。

4

2 回答 2

1

我通过以下方式做到了这一点:

  • 在清单中作为 screenOrientation 类型:“@integer/screenOrientation”
  • 对于电话(如果你想要肖像),将 screenOrientation 值设置为“1”
  • 对于平板电脑(如果你想要横向),将 screenOrientation 值设置为“0”

这个值来自源 sdk,所以如果你想要不同的检查出来(在这个链接中搜索 screenOrientation)。

我希望这个解决方案能帮助你。

于 2012-03-09T20:35:05.023 回答
0

@pjanecze 给出的答案的替代方法是在代码中执行此操作:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

我在我的基本 Activity onCreate 方法中调用它。由于某种原因,清单方法对我不起作用。

一些用户报告了上面代码被忽略的问题,但是这可以通过首先将请求的方向设置为其他东西来解决:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
于 2013-04-01T17:05:09.963 回答