我是Android开发的新手,我有一个关于方向改变布局的最佳实践问题。
我的问题是,当用户更改设备的方向时,如何处理布局属性。
如果应用程序需要在更改方向时在布局上重新定位控件,是否应该为该特定方向创建新布局?或者,是否应该尽一切努力以编程方式在单个布局上重新定位控件?
感谢您的投入。
发布于 2012-01-29 14:53:00
我将继续并不同意这里的想法:)我认为如果你需要超越简单的大小改变(比如移动视图之间的关系),新的布局确实是最好的选择。
Android API是为自动处理而设计的-你可以有一个名为layout-land和layout-port的目录,分别为风景和肖像设置单独的布局,系统将使用最合适的那个。
请注意,如果可以,您应该避免使用单独的布局-维护和测试它们的工作量是原来的两倍。通常,使用巧妙的权重和适当的RelativeLayouts可以使布局在任何分辨率下工作。
但在某些情况下,您确实希望完全基于方向重新排列布局。作为一个随机的例子,看看Google Music的当前版本。在肖像中,屏幕的大部分是封面艺术,底部有一些信息。在景观中,左半部分是封面艺术,右半部分是信息。
我还将以一个指向Android docs - check this out的链接结束。它更多的是关于多种屏幕尺寸,但它也涵盖了风景/肖像。
发布于 2012-01-29 14:37:50
我认为新的布局不是最好的选择,你的程序应该以最好的方式重新定位控件。我建议阅读这些links。
https://stackoverflow.com/questions/9051371
复制相似问题