【问题标题】:Portrait, Landscape in Android appAndroid 应用中的纵向、横向
【发布时间】:2011-04-27 14:00:58
【问题描述】:

我正在使用LinearLayout 进行设计,它适用于纵向但横向它确实安排得当。我不使用 x,y 位置。如果我更改 xml 中的任何内容,它会影响设计——我如何设计纵向和横向?

【问题讨论】:

    标签: android android-layout android-linearlayout


    【解决方案1】:

    您可以指定一个 layout-land 文件夹,用于放置所有横向布局(复制它们,但差别不大,以便它们在相应的方向上正确显示)。为了避免这种情况,您应该使用RelativeLayouts。但是,如果为时已晚并且您不想更改所有内容,则可以创建上述文件夹并进行适当的布局更改。

    所以你会有一个

    layout/activity.xml
    

    还有一个

    layout-land/activity.xml
    

    如果您的应用很大,每次更改两次可能会很痛苦,但还不错。

    不推荐,但您也可以通过在应用中仅支持纵向来避免更改方向:然后您必须在应用的清单中放入“android:screenOrientation="portrait"”。

    【讨论】:

    • 谢谢,如何从 layout-land 指定 Activity 获取横向的 xml
    • 由系统自动完成,您无需进行任何操作!您更改设备的方向,Activity 会重新加载正确的布局。
    • @murali_ma 它会自行运行......这就是创建以这种方式命名的文件夹的目的。它的工作原理类似于针对不同屏幕密度的不同可绘制文件夹。 @seretur 我想知道是否需要某个 API 级别才能使其工作?
    • @Maximus 不同的密度需要 4 级 (1.6) 但布局只需要 3 级 (1.5)
    • @感谢您澄清这一点。那就不值得一提了...不确定是否有人再针对 1.5。
    【解决方案2】:

    您可以定义第二个 xml 文件,它是横向版本的布局。该文件必须命名相同并放置在 layout-land 文件夹中:

    肖像:

    layout/main.xml
    

    风景:

    layout-land/main.xml
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      相关资源
      最近更新 更多