I have a specific implementation of error handling in edit texts. Is there any way i could achieve something like shown below.

I managed to achieve almost similar result. Only part remaining is the validator.
Any help would be appretiated
Edit 1: Attaching code for to help.
 <android.support.design.widget.TextInputLayout
        style="@style/FrameTextLayout"
        android:layout_width="match_parent"
        app:theme="@style/GreyHighlight">
        <android.support.design.widget.TextInputEditText
            android:id="@+id/fragment_sign_up_one.text_email"
            style="@style/FrameEditText"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:hint="@string/email"
            android:inputType="textEmailAddress" />
 </android.support.design.widget.TextInputLayout>
Values in values\styles.xml
<style name="GreyHighlight" parent="AppThemeNoAction">
    <item name="colorControlNormal">@color/colorHeather</item>
    <item name="colorControlActivated">@color/colorHeather</item>
    <item name="textColorError">@color/colorHeather</item>
</style>
<style name="FrameTextLayout">
    <item name="android:background">@drawable/border_background</item>
    <item name="android:paddingTop">8dp</item>
    <item name="android:layout_height">53dp</item>
    <item name="android:layout_marginTop">16dp</item>
</style>
<style name="FrameEditText">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:maxLines">1</item>
    <item name="android:textSize">16.7sp</item>
    <item name="android:textColor">@color/colorDarkIndigo</item>
    <item name="android:paddingBottom">8dp</item>
    <item name="android:paddingLeft">16dp</item>
    <item name="android:paddingRight">16dp</item>
    <item name="android:paddingTop">8dp</item>
</style>
Also on the sidenote how do we centre hint inside a TextInputLayout. Example attached.
Currently,
Edit 2: Managed to center hint by disabling hint when not in focus by using app:hintEnabled="false" on TextInputLayout.


                        
So i ended up creating a custom view that fulfilled what i needed. If anyone is interested I created a library for it.
CustomFormViews