Sou*_*Das 71 android android-layout android-linearlayout android-relativelayout
有什么优势RelativeLayout超过LinearLayoutandroid系统?对于一个特定的设计,你更喜欢哪一个,背后的原因是什么?
它(RelativeLayout)是否与HTML相似或类似<div>?
Bla*_*rai 46
阅读这篇文章:
Android UI工具包提供了几个易于使用的布局管理器,大多数情况下,您只需要这些布局管理器的基本功能来实现用户界面.遗憾的是,坚持基本功能并不是创建用户界面的最有效方法.一个常见的例子是滥用LinearLayout,这会导致视图层次结构中的视图激增.您添加到应用程序中的每个视图或更糟糕的每个布局管理器都需要付出代价:初始化,布局和绘图变得更慢.当您嵌套多个使用weight参数的LinearLayout时,布局传递可能会特别昂贵,这需要对子进行两次测量...
在RelativeLayout中,视图与其父级,RelativeLayout本身或其他视图对齐.例如,我们声明描述与RelativeLayout的底部对齐,并且标题位于描述之上并锚定到父级的顶部.使用GONE描述,RelativeLayout不知道在何处定位标题的下边缘.要解决此问题,可以使用名为alignWithParentIfMissing的非常特殊的布局参数.
这个布尔参数只是告诉RelativeLayout在缺少约束目标时使用自己的边作为锚点.例如,如果将视图放在GONE视图的右侧并将alignWithParentIfMissing设置为true,则RelativeLayout会将视图锚定到其左边缘.在我们的例子中,使用alignWithParentIfMissing将使RelativeLayout将标题的底部与其自己的底部对齐.
...当你为ListView中的每个项目使用这样的布局时,差异会更加重要......
Aka*_*shG 16
通过名称,您可以了解LinearLayout根据您设置的方向线性垂直或水平添加视图.它会一个接一个地添加视图,这取决于设计的要求.并RelativeLayout添加相互关联的视图,无需声明方向RelativeLayout.
例如,您希望TextView在另一个下添加两个s,因此您将首先添加,然后通过添加XML文件来TextView引用第二个.这样你就可以处理了.TextViewTextViewandroid:layout_below="first textview's id"RelativeLayout