3

我是android新手,有一个疑问。我正在创建一个带有表格的布局。我有线性布局作为主要布局和 3 个子布局,我使用布局权重对其进行了划分。现在我的问题是如何将线性布局中的表格布局分成 6 个相等的部分(其 layout_weight 为 0.70)。

<TableLayout
    android:layout_height="0dp"
    android:layout_width="300dip"
    android:id="@+id/tablelayout01"
    android:layout_weight="0.70"
    android:layout_gravity="center"
    android:gravity="center"
    android:weightSum="1">


    <TableRow 
        android:layout_width="300dp"
        android:layout_height="0dp"
        android:id="@+id/tablerow01"
        android:layout_marginTop="15dp"
        android:layout_weight="0.10"
        android:gravity="center">

        <EditText
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="@drawable/edittext_bg"
            android:ems="10"
            android:gravity="center"
            android:hint="Name"
            android:textColorHint="#333333"
            android:shadowRadius="2"  
            android:shadowColor="#000000"
            android:shadowDx="2"
            android:shadowDy="4">
            <requestFocus />
        </EditText>

    </TableRow>

  <TableRow
       android:layout_width="300dp"
        android:layout_height="0dp"
        android:id="@+id/tablerow02"
        android:layout_weight="0.10"
        android:gravity="center">

      <EditText
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="@drawable/edittext_bg"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Email"
            android:inputType="textEmailAddress"
            android:textColorHint="#333333">
            <requestFocus />
        </EditText>  
  </TableRow>

   <TableRow
       android:layout_width="300dp"
        android:layout_height="0dp"
        android:id="@+id/tablerow03"
        android:layout_weight="0.10"
        android:gravity="center">

      <EditText
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="@drawable/edittext_bg"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Password"
            android:inputType="textPassword"
            android:textColorHint="#333333">
            <requestFocus />
        </EditText>  
  </TableRow>

     <TableRow
       android:layout_width="300dp"
        android:layout_height="0dp"
        android:id="@+id/tablerow04"
        android:layout_weight="0.10"
        android:gravity="center">

      <EditText
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="@drawable/edittext_bg"
            android:ems="10"
            android:gravity="center_horizontal"
            android:hint="Confirm Password"
            android:inputType="textEmailAddress"
            android:textColorHint="#333333">
            <requestFocus />
        </EditText>  
  </TableRow>

    <TableRow
       android:layout_width="300dp"
        android:layout_height="0dp"
        android:id="@+id/tablerow05"
        android:layout_weight="0.15">

      <Button
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:background="@drawable/btn_signup"
            android:text="Create Account"
            android:textColor="#ffffff">

        </Button>  
  </TableRow>  

        <TableRow
       android:layout_width="300dp"
        android:layout_height="0dp"
        android:id="@+id/tablerow06"
        android:layout_weight="0.15"
         android:background="@drawable/fb_button" >

        <LinearLayout
    android:layout_width="300dp"
    android:layout_height="40dp"
    android:layout_gravity="center"
    android:background="@drawable/fb_button"
    android:id="@+id/linearlayout02">


        <ImageView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/facebook_icon"/>

         <Button
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="Sign Up with Facebook"
        android:id="@+id/btn_fb"
        android:background="@drawable/fb_button"
        android:layout_gravity="center"
        android:textColor="#ffffff"/>   

         </LinearLayout>

  </TableRow>  




</TableLayout>
4

1 回答 1

2

如果它是 6 个相等的部分,那么父母应该是weightSum6 的 a,每个孩子的 a 应该layout_weight是 1。

layout_weight视图对象直接父级定义。所以你可以有一个weightSum6 的LinearLayout然后一个layout_weight1 和一个weightSum6 的你TableLayout,每个TablRow人都有一个layout_weight1。


编辑

您的代码中必须有一些与重量冲突的东西,我已经更改了下面的代码以显示 (3) 中的三个项目LinearLayout和 (6) 中的六个项目TableLayout,我还包含了它给我的确切内容的屏幕截图在预览和我的设备上。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="3" >

    <TableLayout
        android:id="@+id/tablelayout01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:weightSum="6" >

        <TableRow
            android:id="@+id/tablerow01"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_marginTop="15dp"
            android:layout_weight="1"
            android:gravity="center" >

            <EditText
                android:layout_width="300dp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Name" >

                <requestFocus />
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tablerow02"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center" >

            <EditText
                android:layout_width="300dp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Email" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tablerow03"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center" >

            <EditText
                android:layout_width="300dp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Password"
                android:inputType="textPassword" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tablerow04"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center" >

            <EditText
                android:layout_width="300dp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Confirm Password" >
            </EditText>
        </TableRow>

        <TableRow
            android:id="@+id/tablerow05"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center" >

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
        </TableRow>

        <TableRow
            android:id="@+id/tablerow06"
            android:layout_width="300dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center" >

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button" />
        </TableRow>
    </TableLayout>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:text="Item 2" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:text="Item 3" />

</LinearLayout>

于 2013-04-08T15:41:57.467 回答