代码之家  ›  专栏  ›  技术社区  ›  gregm

桌子布局挡板

  •  0
  • gregm  · 技术社区  · 15 年前

    我正在与Android用户界面进行斗争,试图创建一个表布局,该布局有两行,每行有两个按钮。我希望每个按钮占用行中50%的空间。但是,无论我将布局宽度和布局高度设置为什么,每行中都会有两个瘦按钮。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
       android:orientation="horizontal"
      android:id="@+id/tablelayout" >
    <TableRow>
    <Button  
        android:id="@+id/btn_one" 
        android:tag="1" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text=""/>
    <Button  
        android:id="@+id/btn_two" 
        android:tag="2" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text="" 
        android:padding="0px"/>
    </TableRow>
    <TableRow>
    <Button  
        android:id="@+id/btn_three" 
        android:tag="3" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text=""/>
    <Button  
        android:id="@+id/btn_four" 
        android:tag="4" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text=""/>
    </TableRow>
    </TableLayout>
    </LinearLayout>
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   gregm    15 年前

    答案是使用magic layout_weight参数。

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
       android:orientation="horizontal"
      android:id="@+id/tablelayout" >
    <TableRow
        android:layout_weight="1">
    <Button  
        android:id="@+id/btn_one" 
        android:tag="1" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1"
        android:text=""/>
    <Button  
        android:id="@+id/btn_two" 
        android:tag="2" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1"
        android:text="" 
        android:padding="0px"/>
    </TableRow>
    <TableRow
        android:layout_weight="1"
    >
    <Button  
        android:id="@+id/btn_three" 
        android:tag="3" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1"
        android:text=""/>
    <Button  
        android:id="@+id/btn_four" 
        android:tag="4" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1"
        android:text=""/>
    </TableRow>
    </TableLayout>
    </LinearLayout>