imageView的右边框和下边框出错

时间:2014-10-27 14:15:21

标签: android 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>

正如您在屏幕截图中看到的那样,右侧边框和底部边框并非如此,但我不知道为什么。

1 个答案:

答案 0 :(得分: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>