【问题标题】:How to develop Android application for tablet in landscape mode and for phone in portrait mode [duplicate]如何在横向模式下为平板电脑开发Android应用程序,在纵向模式下为手机开发Android应用程序[重复]
【发布时间】:2013-12-13 08:17:46
【问题描述】:

如何为平板电脑开发横向模式和手机纵向模式的Android应用程序?

【问题讨论】:

  • 要求代码的问题必须表明对所解决问题的最低理解。包括尝试的解决方案、它们为什么不起作用以及预期的结果。另见:Stack Overflow question checklist

标签: java android tablet android-3.0-honeycomb


【解决方案1】:

您可以提供替代布局。创建文件夹/res/layout-land 并将您的布局xml文件放入其中。

【讨论】:

    【解决方案2】:

    现在要让您的应用程序屏幕按预期在两个方向上工作,请按照以下步骤操作:

    1. 如下图所示,在“res”文件夹下,创建一个名为“layout-land”的新文件夹,横向添加-land。
    2. 对于横向,在“layout-land”文件夹下创建布局xml,与“layout”文件夹下的布局xml名称相同。请注意,layout 和 layout-land 文件夹中的 xml 文件的名称应该相同。

    Screen orientation–Portrait / Landscape

    甚至尝试提及这一点

    <supports-screens android:resizeable=["true"| "false"]
                      android:smallScreens=["true" | "false"]
                      android:normalScreens=["true" | "false"]
                      android:largeScreens=["true" | "false"]
                      android:xlargeScreens=["true" | "false"]
                      android:anyDensity=["true" | "false"]
                      android:requiresSmallestWidthDp="integer"
                      android:compatibleWidthLimitDp="integer"
                      android:largestWidthLimitDp="integer"/&rt;
    

    【讨论】:

      【解决方案3】:

      您应该以编程方式检查设备类型(link)。如果设备是移动设备,则将应用方向锁定为纵向,否则将方向锁定为横向模式。(link) 您需要两个布局文件夹 - 布局和布局土地。

      【讨论】:

        【解决方案4】:

        通过在清单文件的活动标签中设置属性来禁用设备的方向传感器,如下所示:

        android:screenOrientation="nosensor"
        

        当您运行您的应用程序时,默认情况下为手机设置纵向,为平板电脑设置横向(因此它将从layout-xlarge-land 中选择xml 文件)。而且由于您设置了方向锁定,因此它会保持此方向。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-05
          • 2017-11-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-23
          • 1970-01-01
          • 2017-04-12
          相关资源
          最近更新 更多