2012-10-17 139 views
0

所以我需要把兩個按鈕放在同一行,所以即時嘗試使用線性佈局內的相對佈局,但它們只能移動到下方而不是側向移動。同一行中的兩個按鈕>線性佈局內的相對佈局

應該如何:

TextView

TextView

TextView

TextView

Button1Button2

守則:

<?xml version="1.0" encoding="utf-8"?> <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" tools:ignore="HardcodedText" >

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<RelativeLayout android:layout_width="wrap_content" android:layout_height="match_parent" >

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

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

</RelativeLayout>

</LinearLayout>

他們AR電子應該留在彼此旁邊(按鈕),但似乎並不奏效。

+2

爲什麼你包裹中的按鈕相對佈局?只需使用水平方向的線性佈局 – toadzky

回答

4

看看

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="Button" /> 

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

</LinearLayout> 

這是你需要什麼?

+0

如果您希望它們的尺寸相同,您可以將layout_weight = 1添加到按鈕 – toadzky

+0

是的,我們可以做到這一點。 :) –

+0

好的,但它們並沒有太大區別,我如何將它們設置爲更遠一點?: –

1

這個怎麼樣:

採取在相對佈局仔細看,它現在使用wrap_content爲它的高度和match_parent爲它的寬度。還要注意按鈕xml中的alignParent部件。使用RelativeLayout不是唯一的方法,但如果您希望按鈕在右側和左側浮動,可能會更好。您也可以使用LinearLayout,它的方向設置爲horizontal

<?xml version="1.0" encoding="utf-8"?> 
<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" 
    tools:ignore="HardcodedText" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true" 
      android:text="Button" /> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:text="Button" /> 
    </RelativeLayout> 

</LinearLayout> 

羅爾夫

2

您只能使用現有的代碼來做到這一點。 使用第二個按鈕中第一個按鈕的ID。

<RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" > 

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

<Button 
    android:id="@+id/button2" 
    android:layout_toRightOf="@id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" /> 

</RelativeLayout> 
0

我知道這個線程是舊的,但我有,我想一個案例:

[  Button1  ] 
    [Button2] [Button3] 

,當我試圖線性佈局中嵌入的LinearLayout,格式是正確的,但按鍵沒沒有迴應。

我解決它是把按鈕2 & 3表內,並的方式,如果你想申請這個解決您例如,它看起來是這樣的:

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

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 

<TextView 
    android:id="@+id/textView4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" /> 
<TableRow 
    android:id="@+id/tableRowForButtons" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" > 
    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

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