我有一个位于屏幕顶部中央的图像和一个alignParentRight按钮。并立即设置为图像下方。我想要的是,当它在横向视图上时,图像不是那么长,我想将Button移动到顶部。有没有办法实现这个目标?感谢
纵向视图
_________________
|[ <--Image--> ]|
| [Button]|
风景视图
_________________________________
| [ <--Image--> ] |
| [Button]|
| |
答案 0 :(得分:1)
如果您不想根据屏幕方向切换到使用不同的布局,则可以执行以下操作。
聆听屏幕方向。我不确定您的应用目前是如何处理它的。它是重新启动应用程序(默认行为)还是通过覆盖onConfigChanged
阻止它?
无论哪种情况,您都可以使用以下方式获取屏幕方向:
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
windowManager.getDefaultDisplay().getOrientation();
现在您知道了屏幕方向,您可以通过编程方式设置按钮的布局。假设您正在使用alignParentRight
,则可以使用相对于alignRightOf
的{{1}},而不是ImageView
。
以编程方式设置布局(请参阅here了解源代码):
RelativeLayout
答案 1 :(得分:0)
您应该为横向和纵向模式创建单独的布局。查看this。