Android在方向上保存视图位置已更改[重复]

Posted

技术标签:

【中文标题】Android在方向上保存视图位置已更改[重复]【英文标题】:Android save View position on orientation changed [duplicate] 【发布时间】:2011-10-29 20:20:09 【问题描述】:

可能重复:android - disable landscape mode?

当方向改变时,我无法保存视图位置。 我认为这是因为随着方向的变化,它也会发生变化,我希望该视图保持在同一位置。例如,它位于屏幕的左上角,它停留在那里,与设备的方向无关。 我正在使用某种绝对布局。因为我需要同时管理几个屏幕。 所以,我有 x/y 坐标系。我认为这是主要问题,但我无法解决:(

我附上了图片,您可以看到我的问题。 如您所见,第一个屏幕是纵向模式,视图位于左上角,但是当我更改为横向模式时,视图位置也更改为右上角。 而且我需要始终保持在左上角的视图位置。

    http://imgur.com/qo19E&u2K0hl http://imgur.com/qo19El&u2K0h

抱歉屏幕不好。我仍在开发应用程序,无法提供更好的屏幕:)

Ps:如果你需要一些代码,直接说你需要哪部分代码。

【问题讨论】:

【参考方案1】:

Android - disable landscape mode? 的副本

您可以强制活动以特定方向运行。 在 AndroidManifest.xml 中使用属性“android:screenOrientation”

请参见此处的示例: http://developer.android.com/guide/topics/manifest/activity-element.html

【讨论】:

【参考方案2】:

如果您能提供一些代码或屏幕截图,那就太好了。

无论如何,当方向改变时,您的活动将被销毁并重新创建。 如果您有一个设计良好的 xml 布局文件(使用线性布局、相对布局和“wrap_content”、“fill_parent”等属性),它将在 onCreate() 方法中重新加载它,因此所有调整大小都应该自动完成。

如果您的视图可以由用户移动或从运行时值加载,您可以保存它。以这个帖子为例:Override Orientation Change But NOT Restart The Activity AND Pass State Data

【讨论】:

我附上了图片,您可以看到我的问题。如您所见,第一个屏幕是纵向模式,视图位于左上角,但是当我更改为横向模式时,视图位置也更改为右上角。而且我需要始终保持在左上角的视图位置。 1. imgur.com/qo19E&u2K0hl 2. imgur.com/qo19El&u2K0h 抱歉屏幕不好。我还在开发应用程序,无法提供更好的屏幕:) Ps:如果您需要一些代码,请说出您需要哪部分代码。 嗯,我没有看到任何奇怪的东西。如果您的手机处于横向模式,则第二个屏幕短片的右上角将位于横向屏幕的左上角。我可能会错过你的问题^^ 没错。但是我该如何管理它。因为我希望该视图在纵向和横向模式下保持在同一位置。能做到吗? 我不明白您提供的屏幕截图中有什么问题。你能把它们画成它们应该看起来的样子吗? 在纵向模式下应该像截图一样,但在横向模式下应该是这样的:imgur.com/5oC12

以上是关于Android在方向上保存视图位置已更改[重复]的主要内容,如果未能解决你的问题,请参考以下文章

不幸的是,在 Android 的 layout-land 文件中更改 .xml 时,应用程序已在物理设备上停止 [重复]

在方向更改上保存 TextView 的设置 - Android?

uiviewcontroller中的设备方向更改[重复]

保存图像后由于方向更改导致 Android 显示图像捕获错误

关闭时,横向iPad上带有键盘的模态视图控制器会更改位置[重复]

Android:在方向更改时,总是调用 Web 服务 [重复]