2011-09-15 143 views
1

我將此代碼作爲我的列表視圖的頁腳。它只是一個EditText和一個Button來發送消息。在相對佈局上對齊按鈕和EditText

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:orientation="vertical" 
    android:layout_height="fill_parent" android:id="@+id/relativelayout_messages" android:gravity="right" 
    android:background="@drawable/fondomain" android:paddingTop="4dp"> 

<ListView android:id="@+id/android:list" android:listSelector="@android:color/transparent" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    android:divider="@layout/linedivider" android:dividerHeight="8dp" 
    android:cacheColorHint="#0000" android:paddingTop="5dp" 
    android:layout_alignParentTop="true" android:footerDividersEnabled="true" 
    android:paddingLeft="10dp" android:paddingRight="10dp" 
    android:layout_above="@+id/InnerRelativeLayout"  
    android:fastScrollEnabled="true" 
/> 

<!-- footer --> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/InnerRelativeLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginTop="10dp" 
    android:background="@color/greytable" 
    android:paddingTop="5dp" 
    android:paddingRight="3dp" 
    android:paddingLeft="3dp"> 

    <EditText 
     android:id="@+id/et_sent_msg" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"   
     android:layout_toLeftOf="@+id/bt_sent_msg" > 
    </EditText> 

    <Button 
     android:text="Enviar" 
     android:id="@+id/bt_sent_msg" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@layout/selector_button_msg" 
     android:textSize="15dp" 
     android:textStyle="bold" 
     android:gravity="center" 
     android:textColor="@color/black"   
     android:layout_alignParentRight="true" /> 
</RelativeLayout> 

螞蟻這是按鈕背景

<selector 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" > 
    <shape> 
     <gradient 
      android:startColor="#757202" 
      android:endColor="#757202" 
      android:angle="270" />  
     <corners 
      android:radius="3dp" /> 
     <padding 
      android:left="10dp" 
      android:top="10dp" 
      android:right="10dp" 
      android:bottom="10dp" /> 
     <stroke android:width="1dp" android:color="#919790"/> 
    </shape> 
</item> 

<item>   
    <shape> 
     <gradient 
      android:startColor="#FFF038" 
      android:endColor="#FFFF6C" 
      android:angle="270" />  
     <corners 
      android:radius="3dp" /> 
     <padding 
      android:left="10dp" 
      android:top="10dp" 
      android:right="10dp" 
      android:bottom="10dp" /> 
     <stroke android:width="1dp" android:color="#919790"/>     
    </shape> 
</item> 

這是不容易看到的第一眼,但我EdiTextis不能完全與我的按鈕排列的形狀。正如你所看到

enter image description here

+0

我EDITTEXT沒有完全與我的EdiText對齊? –

+0

請澄清你的問題? – user370305

回答

4

你需要做的:

  1. 設置android:layout_alignParentBottom="true"您的EditText和按鈕兩者。
  2. android:layout_alignParentLeft="true"設置爲edittext。
  3. android:layout_toRightOf="@+id/edittextid"設置爲按鈕。

將您的修改後的代碼爲footer

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/InnerRelativeLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_marginTop="10dp" 
    android:paddingTop="5dp" 
    android:paddingRight="3dp" 
    android:paddingLeft="3dp"> 

    <EditText 
     android:id="@+id/et_sent_msg" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_toLeftOf="@+id/bt_sent_msg" > 
    </EditText> 

    <Button 
     android:text="Enviar" 
     android:id="@+id/bt_sent_msg" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="15dp" 
     android:textStyle="bold" 
     android:gravity="center" 
     android:textColor="@color/black" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentRight="true" /> 
</RelativeLayout> 
+0

崩潰並告訴我,我有循環依賴關係。我在edittext上刪除了行android:layout_toLeftOf =「@ id/bt_sent_msg」並且不起作用 – Dayerman

+0

在循環依賴關係的情況下,您已經給出了對彼此的兩個視圖的引用。 –

+0

如果我把你的代碼列表視圖不出現,而是出現一個灰色的塊。但是,如果我刪除android:layout_alignParentBottom =「true」是一樣的以前。 – Dayerman

0

Allign編輯文本於母公司的左下角。然後allign你按鈕編輯文本和allign按鈕上方的編輯文本的頂部和底部的按鈕右邊編輯文本底部