Ich sehe ein Problem mit EditText
setError
Popup-Position.
Ich verwende den folgenden Code, um das Layout zu erstellen:
activity_profile.xml
%Vor%profile.xml
%Vor%Was ich versucht habe
Wenn ich android.support.design.widget.CoordinatorLayout
mit LinearLayout
ändere, wird das setError
Problem nicht passieren, aber das wird die Farbe der Statusleiste in weiß ändern und meine Benutzeroberfläche sieht seltsam aus.
Ich bin neu in der Android-Programmierung und nicht sicher, was los ist, bitte hilf mir.
Was für mich funktionierte, ist ein extra LinearLayout in activity_main.xml (ja, da):
%Vor%Dies funktioniert auch um den Layout-Fehler, der angezeigt wird, wenn Sie die Sichtbarkeit einer Ansicht in einem Fragment umschalten.
Und das nächste Problem ist Weiß-in-Weiß-Fehlermeldung im Popup auf Android 2.x ( Link )
Ich hatte das gleiche Problem. Als ich ein wenig die Benutzeroberfläche ausprobierte, stellte ich fest, dass das Problem auftrat, als das Widget EditText den Fokus programmatisch auf den Fehler brachte. In diesem Fall rief .requestFocus()
auf, aber wenn ich das Widget wieder manuell fokussierte, erschien das Popup korrekt.
Meine Problemumgehung war also, den Aufruf von .requestFocus()
in einem Runnable zu verzögern (simuliere einen Benutzer, der auf das Widget EditText klickt).
Hier ist der Code:
%Vor% mFocusView
ist die aktuelle EditText-Ansicht, um einen Fehler anzuzeigen.
Abhängig von Ihrem Anwendungsfall müssen Sie möglicherweise den Fokus behandeln, wenn die Tastatur geschlossen wird, da dadurch das Popup erneut an der falschen Position erscheint.
Weiß nicht, ob das dein Problem lösen wird. Hoffe es hilft, während Google dieses Problem löst.
Tatsächlich ist das Problem nicht CoordinatorLayout
, sondern AppBarLayout.ScrollingViewBehavior
. Als einfache Problemumgehung können Sie die Zeile app:layout_behavior="@string/appbar_scrolling_view_behavior"
entfernen und android:layout_marginBottom="?attr/actionBarSize"
zu Ihrer verschachtelten Ansicht hinzufügen, wenn Sie kein verschachteltes Scrollen benötigen.
Tags und Links android android-linearlayout android-edittext android-coordinatorlayout