我刚刚发现layout_column
和layout_span
。
目前,我使用layout_weight
,或普通的 old layout_width="dp"
。
有人可以解释最有效/流行/有用的语法吗?我觉得我总是会发现新的语法并想重新编写我的布局代码。
layout_column 和 layout_span 都是 Table Layout 的属性。您只能在表格布局中使用它们
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<TextView android:id="@+id/info"
android:layout_span="2"
android:text="some text"
android:padding="3dip"
android:layout_gravity="center_horizontal" />
<EditText android:id="@+id/info"
android:layout_span="3"
android:text="some text"
android:padding="3dip"
android:layout_gravity="center_horizontal" />
</TableRow>
<TableRow>
<TextView android:text="some other text"
android:padding="3dip"
android:layout_span="1" />
<TextView android:text="more text"
android:padding="3dip"
android:layout_span="4"/>
</TableRow>
</TableLayout>
在上面的 xml 中,两行占用相同的空间,唯一的区别是第一行 Textview 和 EditText 的比例为 2:3,而在第二行中,两个 TextViews 占用的空间比例为 1:4。
Layout Coloumn仅表示该子项应位于的列的索引。另外要记住的一件事是列从索引 0 开始。
目前最好的布局是相对布局,这就是我推荐的,因为它节省了很多代码行,也避免了布局的嵌套,也避免了不必要的布局嵌套。权重概念是制作复杂布局的万无一失的概念,如果明智地使用权重,您将风险因素降至 0%。
布局属性背后没有什么大的想法,更多的是实用的东西。我会尽可能多地研究现有的屏幕,所以我知道人们是如何做到的。我将从 SDK 示例开始。