Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android开发最佳实践_Android_Layout_Controls - Fatal编程技术网

Android开发最佳实践

Android开发最佳实践,android,layout,controls,Android,Layout,Controls,我是Android开发新手,我有一个关于方向改变布局的最佳实践问题 我的问题是当用户更改设备的方向时如何处理布局属性 如果出于应用程序的目的,当方向改变时需要在布局上重新定位控件,是否应为该特定方向创建新布局?还是应该尽一切努力以编程方式重新定位单个布局上的控件 谢谢您的输入。我认为新的布局不是最好的选择,您的程序应该以最好的方式重新定位控件。我建议您阅读这些内容。我认为新的布局不是最好的选择,您的程序应该以最好的方式重新定位控件。我建议您阅读这些内容。我不同意ThinkStiple的观点:)如

我是Android开发新手,我有一个关于方向改变布局的最佳实践问题

我的问题是当用户更改设备的方向时如何处理布局属性

如果出于应用程序的目的,当方向改变时需要在布局上重新定位控件,是否应为该特定方向创建新布局?还是应该尽一切努力以编程方式重新定位单个布局上的控件


谢谢您的输入。

我认为新的布局不是最好的选择,您的程序应该以最好的方式重新定位控件。我建议您阅读这些内容。

我认为新的布局不是最好的选择,您的程序应该以最好的方式重新定位控件。我建议您阅读这些内容。

我不同意ThinkStiple的观点:)如果您需要超越简单的尺寸更改(如移动视图之间的关系),我认为新布局确实是最佳选择

Android API设计用于自动处理该问题-您可以拥有一个名为
layout land
layout port
的目录,分别为横向和纵向设置单独的布局,系统将使用最合适的布局

请注意,如果可以的话,您应该避免使用单独的布局—维护和测试它们的工作量是原来的两倍。通常,使用巧妙的权重和适当的相对值可以使布局以任何分辨率工作

但在某些情况下,您确实希望完全根据方向重新排列布局。作为一个随机的例子,看看谷歌音乐的当前版本。在纵向中,屏幕的大部分是封面艺术,底部有一些信息。在风景画中,左半部分是封面艺术,右半部分是信息


我还将以Android文档的链接来结束。更多的是关于多个屏幕尺寸,但它也涵盖了横向/纵向。

我不同意ThinkStiple的观点:)我认为新的布局确实是最好的选择,如果你需要超越简单的尺寸变化(比如移动视图)

Android API设计用于自动处理该问题-您可以拥有一个名为
layout land
layout port
的目录,分别为横向和纵向设置单独的布局,系统将使用最合适的布局

请注意,如果可以的话,您应该避免使用单独的布局—维护和测试它们的工作量是原来的两倍。通常,使用巧妙的权重和适当的相对值可以使布局以任何分辨率工作

但在某些情况下,您确实希望完全根据方向重新排列布局。作为一个随机的例子,看看谷歌音乐的当前版本。在纵向中,屏幕的大部分是封面艺术,底部有一些信息。在风景画中,左半部分是封面艺术,右半部分是信息


我还将以Android文档的链接来结束。更多的是关于多种屏幕尺寸,但也包括横向/纵向。

我同意这一点。还可以研究如何使用片段。可以在两个方向上重用相同的子视图。以gmail应用程序的主窗口为例。要在蜂巢之前使用碎片,您需要Android兼容性包:很好。在这一点上,碎片几乎是必不可少的。有一个只需要API级别4的兼容包,所以你的应用程序在几乎所有的设备上都能工作。我同意你的看法。还可以研究如何使用片段。可以在两个方向上重用相同的子视图。以gmail应用程序的主窗口为例。要在蜂巢之前使用碎片,您需要Android兼容性包:很好。在这一点上,碎片几乎是必不可少的。有一个只需要API级别4的兼容性包,所以你的应用程序仍然可以在几乎所有的设备上运行。