2016-12-22 67 views
0

我有編輯文本中的錯誤處理的具體實現。有什麼辦法可以實現如下所示的效果。 Requirementrequirement自定義錯誤顯示TextInputLayout

我設法取得了幾乎相似的結果。剩下的部分是驗證器。 Achieved

任何幫助將appretiated

編輯1:固定用於幫助代碼。

<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> 

值中值\ 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> 

同樣在旁註我們如何居中TextInputLayout內提示。附加示例。

required

目前,

enter image description here

編輯2:通過對TextInputLayout使用app:hintEnabled="false"禁用提示時不注重管理,以中心提示。

回答

0

所以我最終創建了一個自定義視圖,實現了我所需要的。 如果有人有興趣,我爲它創建了一個庫。

CustomFormViews