2017-12-31 46 views
0

그것은 아주 이상한 문제입니다, 이쪽은 내 코드입니다 TextInputLayout 오류에 빨간색 얻을 :안드로이드 - 편집 텍스트 배경

pass_l : 내 로그인 프로세스에 대한 TextInputLayout을 사용하고

<android.support.design.widget.TextInputLayout 
        android:id="@+id/input_layout_pass" 
        android:layout_width="match_parent" 
        android:layout_height="37dp" 
        android:layout_marginTop="10dp" 
        android:layoutDirection="rtl" 
        android:src="@drawable/ic_https_grey600_18dp" 
        app:hintEnabled="false" 
        app:passwordToggleEnabled="true"> 

        <EditText 
         android:id="@+id/password" 
         style="@style/edittexts" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:drawableLeft="@drawable/ic_https_grey600_18dp" 
         android:drawableStart="@drawable/ic_https_grey600_18dp" 
         android:hint="رمز عبور" 
         android:gravity="right|center_vertical" 
         android:imeOptions="actionDone" 
         android:inputType="textPassword" 
         android:transformPivotX="10dp" 
         app:passwordToggleEnabled="true" /> 

       </android.support.design.widget.TextInputLayout> 

이 내 자바 코드 .setErrorEnabled (true); pass_l.setError (getString (R.string.wrong_pass));

는 오류를 표시하는 경우,이 같은 몇 가지 편집 텍스트의 배경이 빨간색 도착하고 그 아래에 오류가 표시되지 않습니다 :

enter image description here

가 어떻게이 문제를 해결할 수 있습니까? edittext가 배경색을 변경하는 것을 원하지 않습니다. 보통 editext 아래에 오류를 표시하십시오.

+0

edittexts 스타일에는 어떤 것이 있습니까? 당신은 –

+0

@MishaAkopov를 공유 할 수 있습니까? 스타일은 edittext를 경계하기위한 것이고, 나는 그것을 제거했지만 어떤 다른 것을 만들지는 않습니다. –

답변

0

style = "@ style/edittexts"문제가 있습니다. 소스 코드를 공유하십시오. 빨간색으로 설정해야합니다. 이 스타일.

+0

스타일은 edittext를 경계하기위한 것이고, 나는 그것을 제거했지만 어떤 다른 것을 만들지 않습니다. –

+0

다른 것을 확인하십시오 나는 대답을 추가했다. –

1
<android.support.design.widget.TextInputLayout 
        android:id="@+id/input_layout_pass" 
        android:layout_width="match_parent" 
        android:layout_height="37dp" 
        android:layout_marginTop="10dp" 
        android:layoutDirection="rtl" 
        android:theme="@style/TextLabel" 
        android:src="@drawable/ic_https_grey600_18dp" 
        app:hintEnabled="false" 
        app:passwordToggleEnabled="true"> 

        <EditText 
         android:id="@+id/password" 
         style="@style/edittexts" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:drawableLeft="@drawable/ic_https_grey600_18dp" 
         android:drawableStart="@drawable/ic_https_grey600_18dp" 
         android:hint="رمز عبور" 
         android:gravity="right|center_vertical" 
         android:imeOptions="actionDone" 
         android:inputType="textPassword" 
         android:transformPivotX="10dp" 
         app:passwordToggleEnabled="true" /> 

       </android.support.design.widget.TextInputLayout> 



<style name="TextLabel" parent="TextAppearance.AppCompat"> 
    <!-- Hint color and label color in FALSE state --> 
    <item name="android:textColorHint">@color/Color Name</item> 
    <item name="android:textSize">20sp</item> 
    <!-- Label color in TRUE state and bar color FALSE and TRUE State --> 
    <item name="colorAccent">@color/Color Name</item> 
    <item name="colorControlNormal">@color/Color Name</item> 
    <item name="colorControlActivated">@color/Color Name</item> 
</style> 

다음과 같이 시도해보세요.

0

당신은 당신의 textInputLayoutTag이를 사용할 수 있습니다

app:errorEnabled="true" 
app:errorTextAppearance="@style/ErrorAppearance" 

예 :

<android.support.design.widget.TextInputLayout 
     android:id="@+id/input_layout_pass" 
     android:layout_width="match_parent" 
     android:layout_height="37dp" 
     android:layout_marginTop="10dp" 
     android:layoutDirection="rtl" 
     android:src="@drawable/ic_https_grey600_18dp" 
     app:hintEnabled="false" 
     app:passwordToggleEnabled="true" 
     app:errorEnabled="true" 
     app:errorTextAppearance="@style/ErrorAppearance"> 

     <android.support.v7.widget.AppCompatEditText 
      android:id="@+id/password" 
      style="@style/FormStyle" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:drawableLeft="@drawable/ic_https_grey600_18dp" 
      android:drawableStart="@drawable/ic_https_grey600_18dp" 
      android:hint="رمز عبور" 
      android:gravity="right|center_vertical" 
      android:imeOptions="actionDone" 
      android:inputType="textPassword" 
      android:transformPivotX="10dp" 
      app:passwordToggleEnabled="true" /> 

    </android.support.design.widget.TextInputLayout> 

가 활동 검증 후 styles.xml

<style name="ErrorAppearance" parent="@android:style/TextAppearance"> 
     <item name="android:textColor">@color/textError</item> 
     <item name="android:textSize">@dimen/font_small</item> 
</style> 


<style name="FormStyle"> 
     <item name="android:maxLines">1</item> 
     <item name="android:drawablePadding">@dimen/spacing_small</item> 
     <item name="android:textColor">@color/textHint</item> 
</style> 

에 ErrorAppearance 및 FormStyle를 추가 다음과 같이 할 수 있습니다.

pass_l.setError(getString(R.string.wrong_pass)); 
관련 문제