Mam część logowania i używam TextInputLayout do wysyłania wiadomości e-mail i hasła. Oba są takie same. Używam również powiązania danych, aby wyświetlić komunikat o błędzie.Nie można nadmuchać elementu ColorStateList, pozostawiając go w strukturze java.lang.UnsupportedOperationException: Nie można przekonwertować na kolor: type = 0x2
Błąd występuje w interfejsie API < 20, gdy powinien wskazywać wskazówkę dotyczącą błędu. Układ
@Override
public void showEmailError() {
inputLayoutEmail.setError(sInvalidEmail);
}
xml:
<android.support.design.widget.TextInputLayout
android:id="@+id/til_email"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginLeft="@dimen/default_margin_16dp"
android:layout_marginRight="@dimen/default_margin_16dp"
android:layout_marginTop="16dp"
android:layout_below="@id/login_img_logo"
android:layout_centerHorizontal="true"
android:textColorHint="@color/gray"
android:background="@drawable/login_edittext"
android:errorEnabled="@{viewmodel.obEmailErrorVisibility}"
>
<EditText
android:id="@+id/et_login"
android:layout_height="@dimen/login_view_height"
android:layout_width="@dimen/login_view_width"
android:inputType="text"
android:maxLength="50"
android:hint="@string/activity_login_hint_email"
android:text="@={viewmodel.email}"
android:textColor="@color/black"
android:textColorHint="@color/gray"
android:paddingLeft="@dimen/default_margin_16dp"
android:enabled="@{viewmodel.obIsEmailFieldEnabled}"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_margin_16dp"
android:layout_marginRight="@dimen/default_margin_16dp"
android:layout_marginTop="@dimen/default_margin_8dp"
android:layout_below="@id/til_email"
android:layout_centerHorizontal="true"
android:textColorHint="@color/gray"
android:background="@drawable/login_edittext"
android:errorEnabled="@{viewmodel.obPassErrorVisibility}"
>
<EditText
android:id="@+id/et_password"
android:layout_width="@dimen/login_view_width"
android:layout_height="@dimen/login_view_height"
android:hint="@string/activity_login_hint_password"
android:maxLength="50"
android:inputType="textPassword"
android:text="@={viewmodel.password}"
android:textColor="@color/black"
android:textColorHint="@color/gray"
android:paddingLeft="@dimen/default_margin_16dp"
android:enabled="@{viewmodel.obIsPassFieldEnabled}"
/>
</android.support.design.widget.TextInputLayout>
jako tło używam login_edittext.xml
<solid android:color="@color/white" />
<corners
android:radius="@dimen/login_edittext_radius"
/>
muszę sprawdzić podobne odpowiedzi, ale większość z nich są związane z stylów
Witam, znaleźliście rozwiązanie tego? Mam też do czynienia z tym w lollipop. –
Przepraszam za spóźnioną odpowiedź, dodałem moje rozwiązanie, które w końcu działa dla mnie – aleksandrbel
powinieneś zaakceptować odpowiedź –