开发高效的布局

时间:2013-09-27 17:51:13

标签: android xml

我刚刚发现layout_columnlayout_span

目前,我使用layout_weight或普通的layout_width="dp"

有人可以解释最有效/最受欢迎/最有用的语法吗?我觉得我总是会发现新的语法,并希望重新编写我的布局代码。

2 个答案:

答案 0 :(得分:4)

layout_column和layout_span都是表格布局的属性。您只能在表格布局中使用它们

 <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。

布局Coloumn 只是指这个孩子应该在的列的索引。另外要记住的一点是列从索引0开始。

目前最好的布局是相对布局,这就是我推荐的内容,因为它节省了大量的代码行,并且它还避免了布局的嵌套,也避免了不必要的布局嵌套。重量概念是制作复杂布局的万无一失的概念,如果明智地使用重量,您已将风险因子设为0%。

答案 1 :(得分:0)

布局属性背后没有重要的想法,这更具实用性。我会研究尽可能多的现有屏幕,所以我知道人们如何做到这一点。我将从SDK示例开始。