Das TextInputLayout enthält einen EditText, der wiederum die Eingabe vom Benutzer erhält. Mit TextInputLayout, das mit der Android Design Support Library eingeführt wurde, sollten wir den Fehler auf das TextInputLayout setzen, das den EditText anstelle des EditText selbst enthält. Beim Schreiben konzentriert sich die Benutzeroberfläche nur auf den EditText und nicht auf das gesamte TextInputLayout, was dazu führen kann, dass die Tastatur den Fehler abdeckt. In der folgenden GIF-Notiz muss der Benutzer zuerst die Tastatur entfernen, um die Fehlermeldung zu sehen. Dies in Kombination mit dem Setzen von IME-Aktionen, um mit der Tastatur weiterzumachen, führt zu wirklich verwirrenden Ergebnissen.Fehlertext in TextInputLayout wird durch die Tastatur abgedeckt
Layout-XML-Code:
<android.support.design.widget.TextInputLayout
android:id="@+id/uid_text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:errorEnabled="true"
android:layout_marginTop="8dp">
<EditText
android:id="@+id/uid_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:hint="Cardnumber"
android:imeOptions="actionDone"/>
</android.support.design.widget.TextInputLayout>
Java-Code den Fehler an den TextInputLayout Einstellung:
uidTextInputLayout.setError("Incorrect cardnumber");
Wie kann ich die Fehlermeldung ohne dass der Benutzer Handeln sichtbar ist sicher, Es zu sehen? Ist es möglich, den Fokus zu verschieben?
Ich denke, Sie sollten einen Fehlerbericht [hier] (https://code.google.com/p/android/issues/list) einreichen. – natario
Just tat das jetzt @mvai https://code.google.com/p/android/issues/detail?id=178153&thanks=178153&ts=1435245051 – Franzaine
Ich stimme Ihnen zu, guten Fang (und viel Glück). – natario