2014-10-27 93 views
0

我有一個ImageView,我想設置一個圓形的邊框,我有一個可繪製的形狀,但在右側和底部,邊界它不正確,我設置了一個截圖這樣的:錯誤在右邊界和底部邊界imageView

enter image description here

這是XML代碼:

<?xml version="1.0" encoding="utf-8"?> 
<merge 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/rl" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

    <EditText 
      android:id="@+id/et_message" 
      android:layout_toRightOf="@+id/rl_bt_s" 
      android:layout_toEndOf="@+id/rl_bt_s" 
      android:layout_toStartOf="@+id/send_bt_c" 
      android:layout_toLeftOf="@+id/send_bt_c" 
      android:layout_centerVertical="true"     
      android:layout_height="wrap_content"/> 

    <RelativeLayout 
      android:id="@+id/rl_bt_s" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@id/et_message" 
      android:padding="6dp" 
      android:gravity="center"> 

     <ImageButton 
       android:id="@+id/bt_chat_s" 
       android:layout_width="36dp" 
       android:layout_height="36dp" 
       android:padding="10dp" 
       android:background="@android:color/transparent" 
       android:clickable="false"/> 
     <ImageView 
       android:id="@+id/iv_action_attach" 
       android:layout_width="36dp" 
       android:layout_height="36dp" 
       android:layout_alignLeft="@id/bt_chat_s" 
       android:layout_alignStart="@id/bt_chat_s" 
       android:src="@drawable/icon_input_plus" 
       android:background="@drawable/chat_attachment_border_smsmode"/> 
    </RelativeLayout>  
</merge> 

這是形狀:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> 
    <stroke android:width="1dp" 
      android:color="#999999" 
      /> 
    <padding android:left="4dp" 
      android:top="4dp" 
      android:right="4dp" 
      android:bottom="4dp" 
      /> 
    <corners android:radius="4dp"/> 
</shape> 

正如你可以在屏幕截圖中看到的,右邊界和下邊界並不完全,但我不知道爲什麼。

回答

0

嘗試更改父親的RelativeLayout以獲得您希望的寬度,並讓子視圖的寬度/高度爲match_parent。

<RelativeLayout 
     android:id="@+id/rl_bt_s" 
     android:layout_width="36dp" 
     android:layout_height="36dp" 
     android:layout_alignBottom="@id/et_message" 
     android:gravity="center"> 

    <ImageButton 
      android:id="@+id/bt_chat_s" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:padding="10dp" 
      android:background="@android:color/transparent" 
      android:clickable="false"/> 
    <ImageView 
      android:id="@+id/iv_action_attach" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:src="@drawable/icon_input_plus" 
      android:background="@drawable/chat_attachment_border_smsmode"/> 
</RelativeLayout>