如何在android上合并线性布局和表格布局?

时间:2014-02-04 05:08:08

标签: android android-layout layout

我是新的机器人。我在为Android设计布局时有一点点叠加。在我的场景中,我有两个带线性布局的按钮。这是我的 xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/linearLayout2"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:orientation="horizontal"
          android:background="@color/isp_home_color"
    >

<Button
        android:layout_width="0dp"
        android:layout_height="70dp"
        android:layout_weight="1"
        android:text="@string/sync_text"
        android:background="@color/sync_text_color"
        android:id="@+id/btn_syncpin"
        android:layout_gravity="left"
        android:textStyle="bold"
        />

<Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="70dp"
        android:text="@string/topup_text"
        android:background="@color/topup_text_color"
        android:id="@+id/btn_topup"
        android:layout_gravity="right"
        android:textStyle="bold"/>

  <!--Table Layout will come here -->

 </LinearLayout>

这里的图像。

enter image description here

当我在Linear Layout中添加新的TableLayout时。我懂了。

enter image description here

这是表格布局的 xml

   <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >



   </TableLayout>

实际上,我不想这样。我想要两个按钮,如第一张图片所示。然后,在这两个按钮下将出现下一个表格布局。请帮我,我该怎么做这个布局。请指点我如何做到这一点。谢谢先进。

5 个答案:

答案 0 :(得分:1)

为LinearLayout提供垂直方向而不是TableLayout.Put具有orizo​​ntal方向的LinearLayout中的两个按钮,并为父LinearLayout提供“垂直”方向

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#456789"
    android:orientation="vertical" >
 <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF" 
          android:orientation="horizontal">
    <Button
        android:id="@+id/btn_syncpin"
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        android:layout_gravity="left"
        android:layout_weight="1"
        android:background="#123456"
        android:text="tring/"
        android:textStyle="bold" />

    <Button
        android:id="@+id/btn_topup"
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        android:layout_gravity="right"
        android:layout_weight="1"
        android:background="#978969"
        android:text="topup_text"
        android:textStyle="bold" />
    </LinearLayout>

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF" >
    </TableLayout>

</LinearLayout>

答案 1 :(得分:1)

检查一下,我刚刚在我的机器上检查了它并且它按照需要工作,尽管背景偏好和显示字符串已被删除。

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn_syncpin"
            android:layout_width="0dp"
            android:layout_height="70dp"
            android:layout_gravity="left"
            android:layout_weight="1"
            android:textStyle="bold" />

        <Button
            android:id="@+id/btn_topup"
            android:layout_width="0dp"
            android:layout_height="70dp"
            android:layout_gravity="right"
            android:layout_weight="1"
            android:textStyle="bold" />
    </LinearLayout>

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_below="@+id/linearLayout2">
    </TableLayout>

</RelativeLayout>

答案 2 :(得分:1)

将相对布局作为父布局。

以下是一个例子。它也会显示您的按钮和表格布局

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@color/isp_home_color"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/btn_syncpin"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_gravity="left"
                android:layout_weight="1"
                android:background="@color/sync_text_color"
                android:text="@string/sync_text"
                android:textStyle="bold" />

            <Button
                android:id="@+id/btn_topup"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_gravity="right"
                android:layout_weight="1"
                android:background="@color/topup_text_color"
                android:text="@string/topup_text"
                android:textStyle="bold" />


        </LinearLayout>

        <TableLayout
            android:id="@+id/table"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_below="@+id/linearLayout2" >
        </TableLayout>

    </RelativeLayout>

感谢

答案 3 :(得分:0)

这个答案只告诉所有Android版本的button_bar_layout实现,其中按钮位于活动的底部/顶部,看起来像带有OK / Cancel按钮的AlertDialog。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="?android:attr/listDivider"
    android:orientation="vertical"
    android:showDividers="middle" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null"
        android:divider="?android:attr/listDivider"
        android:dividerPadding="12dp"
        android:orientation="horizontal"
        android:showDividers="middle" >

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:drawable/list_selector_background"
            android:paddingLeft="4dp"
            android:paddingRight="4dp"
            android:text="One" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@android:drawable/list_selector_background"
            android:paddingLeft="4dp"
            android:paddingRight="4dp"
            android:text="Two" />
    </LinearLayout>

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF" >
    </TableLayout>

</LinearLayout>

致谢:还有谁? Johnkil

答案 4 :(得分:0)

// try this way here i gave you alternative to achieve your requirement from give all of above
1. header.xml
<?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="wrap_content"
    android:orientation="horizontal"
    android:background="@color/isp_home_color">

    <Button
        android:layout_width="0dp"
        android:layout_height="70dp"
        android:layout_weight="1"
        android:text="@string/sync_text"
        android:background="@color/sync_text_color"
        android:id="@+id/btn_syncpin"
        android:textStyle="bold"/>

    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="70dp"
        android:text="@string/topup_text"
        android:background="@color/topup_text_color"
        android:id="@+id/btn_topup"
        android:textStyle="bold"/>

</LinearLayout>
2.main.xml
<?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:padding="5dp"
    android:orientation="vertical">

    <include
        layout="@layout/header"/>
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="10dp"
        android:layout_weight="1">

    </TableLayout>

</LinearLayout>