2012-10-22 56 views
6

我試圖得到一個佈局,看起來是這樣的:中的RelativeLayout使用layout_alignBaseline和layout_alignBottom一起

Relative layout example

即:

  1. TextView(有邊距)對齊父左和頂。
  2. EditTextTextView的左側,在Button的右側,並與TextView基線對齊。
  3. A Button與母權對齊(只有右邊距)。這裏是破碎的部分:底部對齊到EditText

無論出於何種原因它不起作用。這是我所期待的工作代碼:

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

    <TextView 
     android:id="@+id/text" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="32dp" 
     android:layout_marginTop="32dp" 
     android:text="Text:" /> 

    <EditText 
     android:id="@+id/edit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/text" 
     android:layout_toLeftOf="@+id/button" 
     android:layout_toRightOf="@+id/text" 
     android:ems="10" > 

     <requestFocus /> 
    </EditText> 

    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignBottom="@+id/edit" 
     android:layout_marginRight="32dp" 
     android:text="Ok" /> 

</RelativeLayout> 

那出來是這樣的:

Broken RelativeLayout

這是怎麼回事?

編輯

對不起,我不知道爲什麼,我改變了這個例子,但在我的代碼,我實際使用的ImageButton,不Button,因此該解決方案不能涉及與按鈕的基線對齊 - EditText必須與按鈕的底部(或中間的,如果可能的話)對齊。

+0

可能有一個來自主題的餘量? – njzk2

+0

沒有............ – Timmmm

回答

4

試試這個..

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

<TextView 
    android:id="@+id/text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="32dp" 
    android:layout_marginTop="32dp" 
    android:text="Text:" /> 


<EditText 
    android:id="@+id/edit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/text" 
    android:layout_toLeftOf="@+id/button" 
    android:layout_toRightOf="@+id/text" 
    android:ems="10" > 

    <requestFocus /> 
</EditText> 

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/edit" 
    android:layout_alignBottom="@+id/edit" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="30dp" 
    android:text="Ok" /> 

+0

其實,這只是因爲按鈕有一個基線,我在我的問題中使用了一個壞例子(對不起!) - 實際上我使用的是「ImageButton」,而不是一個「按鈕」。 – Timmmm

+0

等等呢?它也將與ImageButton一起使用。 alignBaseline + alignBottom將永遠在1行的底部 – AndrewS

相關問題