0

现在我的 xml 看起来像这样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
 >

<EditText 
    android:id="@+id/table"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:editable="false"
    android:hint="@string/table"
    android:text="@string/table"
    />
<Button
    android:id="@+id/tableButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/copy"
    android:onClick="copy"/>



</LinearLayout>

我想在我已经创建的按钮下添加一个按钮。我尝试添加另一个按钮,但它只是将它放在同一行。是线性布局吗?如果是这样,我该如何解决这个问题?

编辑:澄清,我希望我的 EditBox 和 Button 在一行中,然后是另一个 EditBox 和 Button。

4

5 回答 5

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

<Button
    android:id="@+id/tableButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:text="@string/copy"
    android:onClick="copy"/>

<EditText 
    android:id="@+id/table1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:editable="false"
    android:layout_toLeftOf="@id/tableButton"
    android:hint="@string/table"
    android:text="@string/table"
    />


<Button
    android:id="@+id/secondButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/tableButton"/>

<EditText 
    android:id="@+id/table2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:editable="false"
    android:layout_bottom="@id/table1"
    android:hint="@string/table"
    android:text="@string/table"
    />

</RelativeLayout>
于 2013-07-04T07:45:26.477 回答
1

尝试这个

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"

    <EditText 
       android:id="@+id/table"
       android:layout_weight="1"
       android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:editable="false"
       android:hint="@string/table"
       android:text="@string/table"
      />

    <Button
        android:id="@+id/tableButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/table
        android:text="@string/copy"
        android:onClick="copy"/>

    <Button
        android:id="@+id/button2"
         android:layout_below="@+id/tableButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        .../>
</LinearLayout>
于 2013-07-04T07:44:37.833 回答
1

这就是您所需要的,然后复制整个内部 LinearLayout 以添加更多行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <!-- Copy from here -->
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/table"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:editable="false"
            android:hint="@string/table"
            android:text="@string/table" />

        <Button
            android:id="@+id/tableButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="copy"
            android:text="@string/copy" />
    </LinearLayout>
    <!-- To herel, and paste under -->

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@id/table"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:editable="false"
            android:hint="@string/table"
            android:text="@string/table" />

        <Button
            android:id="@id/tableButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="copy"
            android:text="@string/copy" />
    </LinearLayout>

</LinearLayout>

至于使用代码执行此操作,仅当您不知道总共需要多少个时,否则,请在 XML 中执行。

于 2013-07-04T07:56:35.390 回答
0
<?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" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <EditText
            android:id="@+id/table"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:editable="false"
            android:hint="@string/table"
            android:text="@string/table" />
        <Button
            android:id="@+id/tableButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="copy"
            android:text="@string/copy" />
    </LinearLayout>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="copy"
        android:text="@string/copy" />
    </LinearLayout>
于 2013-07-04T07:48:56.443 回答
0

尝试改变你的

<Button
    android:id="@+id/tableButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/copy"
    android:onClick="copy"/>

变成这样的东西

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    <Button
        android:id="@+id/tableButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/copy"
        android:onClick="copy"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        .../>
</LinearLayout>

如果您希望第一个按钮与编辑框具有相同的高度,那么您将需要使用Tablelayout

于 2013-07-04T07:40:38.073 回答