我的问题是矩形的左下角区域没有任何圆角,即使我将其定义为10dp。
有没有更好的方法将Drawable放在EditText旁边,而不是使用我的愚蠢方法? 或者我的方法如何重新定义?
摘录布局:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="@drawable/email_bordered"
android:ems="10"
android:inputType="textEmailAddress"
android:paddingLeft="34dp"
android:textSize="30sp"
android:layout_marginBottom="20dp"
/><EditText
email_bordered.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- This controls the white background-->
<item
android:width="32dp"
android:height="90dp"
android:left="1.9dp"
android:bottom="1.9dp"
>
<shape android:shape="rectangle" >
<corners
android:topLeftRadius="10dp"
android:bottomLeftRadius="10dp"
android:topRightRadius="0dp"
android:bottomRightRadius="0dp"
/>
<solid android:color="#fff" />
</shape>
</item>
<!-- This adds the vector image -->
<item
android:bottom="50dp"
android:top="10dp"
android:width="24dp"
android:height="24dp"
android:left="5dp"
android:drawable="@drawable/ic_if_mail_461377"
android:gravity="left">
</item>
<!-- This draws the border around everything -->
<item>
<shape android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#ffffff"/>
<corners
android:radius="10dp"
/>
</shape>
</item>
</layer-list>
答案 0 :(得分:1)
您可以使用EditText中的drawableLeft
标记来获得所需的设计。
<EditText
...
android:drawableLeft="@drawable/ic_if_mail_461377"
android:drawablePadding="10dp"/>
修改强>
在layer-list
中进行一些更改后,最终结果就是这样。
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="45dp"
android:drawableLeft="@drawable/pic"
android:drawablePadding="10dp"
android:background="@drawable/email_bordered"
android:ems="10"
android:inputType="textEmailAddress"
android:paddingLeft="4dp"
android:textSize="30sp"
/>
email_border.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- This controls the white background-->
<item
android:width="62dp"
android:height="45dp"
android:left="1.9dp"
android:bottom="1.9dp"
>
<shape android:shape="rectangle" >
<corners
android:topLeftRadius="10dp"
android:bottomLeftRadius="10dp"
android:topRightRadius="0dp"
android:bottomRightRadius="0dp"
/>
<solid android:color="#fff" />
</shape>
</item>
<!-- This adds the vector image -->
<!-- This draws the border around everything -->
<item>
<shape android:shape="rectangle">
<stroke
android:width="1.9dp"
android:color="#ffffff"/>
<corners
android:radius="10dp"
/>
</shape>
</item>
</layer-list>