RelativeLayout的缺陷得到修复
Android UI toolkit提供了多个Layout类,其中RelativeLayout的强大功能可以满足大多数情况下的需求,同时可以有效的组织和管理程序中包含 的Views。然而,由于存在一些缺陷限制,导致初学者经常会遇到某些奇怪的问题而影响正常的应用。基于这样的问题,Android开发小组重构了 RelativeLayout类。不仅仅除掉了一些零零散散的Bugs,最主要的是修复了一个比较严重的缺陷:Views必须以特定的顺序声明,否则无法 依据属性设置正确显示。下面根据一个具体的例子来了解实际情况:
代码中的RelateiveLayout包含有两个TextView和一个ImageView。从参 数设置来分析ImageView处在TextViews的左边,而两个TextViews则应该是靠左垂直排列。然而,以上的配置却无法在Android 1.5中得到正确的解析,结果如下所示:
问题最主要的原因是由于RelativeLayout处理Views关联是从当前向前查找已经解析的Views,而忽略后边的Views。例如,上个例子 中“band”的位置与“track”相关联,然而“track”是在“band”之后声明。在Android 1.5中,由于RelativeLayout存在缺陷,使得它无法处理这样的问题。值得庆幸的是目前已经修复了这个问题,依然是上边的代码,在 Android 1.6中完全按照正确的逻辑显示Views的位置:
为了帮助Android小组开发更加健壮的程序,提交你发现的缺陷或者Bugs。



