I'm using TextInputLayout
from android design library version 25.1.1. With the following code:
<android.support.design.widget.TextInputLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
local:passwordToggleEnabled="true"
local:hintEnabled="false">
<android.support.design.widget.TextInputEditText
android:id="@+id/confirmationEditText"
android:singleLine="true" />
</android.support.design.widget.TextInputLayout>
But when password toggle icon is pressed, its ripple effect is drawn above the background of TextInput:
How can I set rounded corners radius for passwordToggle
? Can I reference its existing background and "wrap" it with needed properties (how to find Path for default drawable that is used by toggle)?
I tried to implement on fresh project to understand your scenario .
Please take a look into solution.I have attached screenshot of how it will look.
You have to include drawable in drawable folder and set it into background of TextInputEditText
round_corner_toggle.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:left="20dp">
<shape android:shape="rectangle" >
<size android:height="20dp" />
<solid android:color="#d8d8d8" />
<corners android:radius="5dp" />
</shape>
</item>
<item android:right="60dp">
<shape android:shape="rectangle" >
<size android:height="20dp" />
<solid android:color="#ecf0f1" />
<corners android:radius="5dp" />
</shape>
</item>
</layer-list>
Content for TextInputLayout
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="8"
android:background="#FFFFFF"
app:passwordToggleEnabled="true"
app:passwordToggleTint="@color/colorPrimary">
<android.support.design.widget.TextInputEditText
android:id="@+id/tietPassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:background="@drawable/round_corner_toggle"
android:inputType="textPassword"
android:padding="@dimen/activity_horizontal_margin"
android:maxLength="8" />
</android.support.design.widget.TextInputLayout>
</LinearLayout>