Android - 切换到横向视图时将按钮移至顶部

时间:2012-06-09 00:26:14

标签: android orientation relativelayout

我有一个位于屏幕顶部中央的图像和一个alignParentRight按钮。并立即设置为图像下方。我想要的是,当它在横向视图上时,图像不是那么长,我想将Button移动到顶部。有没有办法实现这个目标?感谢

纵向视图

 _________________
|[  <--Image-->  ]|
|         [Button]|

风景视图

 _________________________________
|     [  <--Image-->  ]           |
|                         [Button]|
|                                 |

2 个答案:

答案 0 :(得分:1)

如果您不想根据屏幕方向切换到使用不同的布局,则可以执行以下操作。

聆听屏幕方向。我不确定您的应用目前是如何处理它的。它是重新启动应用程序(默认行为)还是通过覆盖onConfigChanged阻止它?

无论哪种情况,您都可以使用以下方式获取屏幕方向:

WindowManager windowManager =  (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.getDefaultDisplay().getOrientation();

现在您知道了屏幕方向,您可以通过编程方式设置按钮的布局。假设您正在使用alignParentRight,则可以使用相对于alignRightOf的{​​{1}},而不是ImageView

以编程方式设置布局(请参阅here了解源代码):

RelativeLayout

答案 1 :(得分:0)

您应该为横向和纵向模式创建单独的布局。查看this