2

您好我正在尝试使我的布局与所有方向屏幕类型(横向/纵向)兼容。为此,我正在使用layout-landand layout-port

这适用于只有 2 个方向位置(横向和纵向)的设备,但如果我旋转支持 4 个方向位置(左/右、端口倒置/倒置)的设备,则无法正常工作。仅在默认陆地位置上工作,但如果我在另一个横向位置上旋转设备,android 会选择layout-port布局而不是layout-land.

如何在 XML 中解决这个问题?或者唯一的解决方案是管理自己的方向变化?

4

4 回答 4

0

似乎布局土地有效..问题是我自己管理了方向变化并且只采用了两种类型的方向..

(我管理方向只是为了记下应用程序标题并使其在横向全屏..)

谢谢你的回答

于 2011-12-02T07:39:08.770 回答
0

在这里,您会注意到我只是为 StageOrientationEvent.ORIENTATION_CHANGE 事件监听舞台。当事件触发时,舞台可以处于五种可能的方向:默认、向左旋转、向右旋转、倒置和未知。

http://www.unitedmindset.com/jonbcampos/2010/09/27/air-for-android-screen-orientation/

于 2011-12-01T15:18:50.523 回答
0

使用 XML 无法做到这一点。你必须做程序化。要检测方向变化,您可以使用OrientationEventListener

于 2011-12-01T15:20:14.347 回答
0

您的 targetSDK 必须是 2.2(当引入 reverseLandscape 和 reversePortrait 方向时......很确定它是在 2.2 中)并且您的设备必须支持这些方向。例如,Sony Tablet S 不会进入 reverseLandscape 但会做 reversePortrait

于 2011-12-01T15:30:40.927 回答