Android中的屏幕方向,横向

Posted

技术标签:

【中文标题】Android中的屏幕方向,横向【英文标题】:screen orientations in Android, landscape 【发布时间】:2011-05-06 12:52:38 【问题描述】:

我想知道当手机方向改变时如何修改视图。例如,当您以“正常方式”握住手机时,我的应用程序可以正常工作,但是当您将其移动到横向位置时,应用程序的外观就会变得难看: - 如何确保壁纸不会与手机一起“转动”,这是我的布局代码: 文件名:list-event.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_
  android:layout_ android:orientation="vertical">
   <ListView android:id="@android:id/list"
  android:layout_ 
  android:layout_ 
  android:background="@drawable/fon2"></ListView>
</LinearLayout>

如您所见,这只是一个简单的列表,但我希望背景保持不变。 我为 layout 和 layout-land 放置了相同的内容我只是放置了相同的文件 list_event 但我认为我需要添加一些命令以使背景图像以不同的方式定向。 我希望你明白我写的 提前致谢

【问题讨论】:

【参考方案1】:

在横向和纵向模式下为您的视图创建不同的布局,并将横向布局放在res/layout-land 中,将纵向布局放在res/layout-port 中(从技术上讲,您只需要布局和布局-land,port,因为布局是后备如果没有给出方向限定符)。

见the docs for more info。

【讨论】:

是的,这似乎是最简单的解决方案,除了绘制 9-patch 图像。【参考方案2】:

在您的横向布局中(请参阅 Heiko 和 TofferJ 的答案),使用适合横向布局的另一个图像(具有所需的方向/尺寸)。

【讨论】:

您还可以在 res/drawable-port res/drawable-land 目录中提供替代图像。那么你就不需要在你的layout.xml中引用不同名字的图片了,android会根据当前方向自动选择正确的图片。这是一个示例:developer.android.com/resources/samples/Home/res/index.html【参考方案3】:

请在此处查看此帖子以获取详细信息:Android: alternate layout xml for landscape mode

或者在这里查看谷歌的教程:http://developer.android.com/guide/topics/resources/providing-resources.html

【讨论】:

以上是关于Android中的屏幕方向,横向的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中切换屏幕方向

使用 Ionic / ngCordova 将相机/屏幕方向锁定为横向

android之屏幕方向切换

屏幕方向更改后继续活动 - Android

ANdroid手机屏幕反横向等参数设定

iOS 方向在特定屏幕上支持横向和纵向 - 不是所有屏幕