我想將TextInputLayout與我的新應用程序一起使用。我有這樣的佈局TextInputLayout在將setError屬性設置爲null後刪除EditText樣式
***
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textColorHint="@color/text_color"
app:hintTextAppearance="@style/HintTextAppearance.TextInputLayout"
app:errorTextAppearance="@style/ErrorTextAppearance.TextInputLayout">
<EditText
android:id="@+id/input_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="@string/hint_email"
android:background="@drawable/edit_text_border_radius"
android:padding="10dp"
android:drawableLeft="@drawable/ic_acc"/>
</android.support.design.widget.TextInputLayout>
***
在我的活動我有如下驗證:
private boolean validatePassword() {
if (inputPassword.getText().toString().trim().isEmpty()) {
inputLayoutPassword.setError(getString(R.string.err_msg_password));
requestFocus(inputPassword);
return false;
} else {
inputLayoutPassword.setError(null);// it removes @drawable/edit_text_border_radius style from EditText
inputLayoutPassword.setErrorEnabled(false);
}
return true;
}
不能夠正常工作。但好像你注意到我已經爲EditText聲明瞭@ drawable/edit_text_border_radius資源。如果第一次我不填充密碼字段,它會將其背景顏色更改爲紅色。因爲它是TextInputLayout錯誤跨度的默認顏色。但是,如果我填充相同的字段與一些值然後紅色的錯誤跨度消失,但EditText元素忘記它是背景資源(@ drawable/edit_text_border_radius)設置它之前。
實際上你在哪裏設置這兩個顏色 – Sree
@Sree,對不起哪種顏色? – AEMLoviji
我的意思是紅色和另一個 – Sree