首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在垂直方向上将表格布局划分为相等的部分?

如何在垂直方向上将表格布局划分为相等的部分?
EN

Stack Overflow用户
提问于 2013-04-08 23:34:18
回答 1查看 2.6K关注 0票数 3

我是android新手,有一个疑问。我正在创建一个包含表格的布局。我有一个线性布局作为主布局,还有3个子布局,我用布局权重将它们分开。现在我的问题是,如何将线性布局中的表格布局等分成6个部分(其layout_weight为0.70)。

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-08 23:41:57

如果它是6个相等的部分,那么父对象的weightSum应该是6,并且每个子对象的layout_weight应该是1。

layout_weight由视图对象的直接父对象定义。因此,LinearLayout上的weightSum为6,TableLayout上的layout_weight为1,weightSum为6,每个TablRowlayout_weight都为1。

编辑

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

代码语言:javascript
复制
<?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>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15883238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档