Hat die neue Passwort-Sichtbarkeit kaputtes vorhandenes drawableRight für EditTexts umschalten?
BEARBEITE Ich habe gerade versucht, einEditText
ohne einTextInputLayout
und es funktioniert wie erwartet. Also muss das Problem bei neuen Änderungen im @ seTextInputLayout
.
Ich habe ein benutzerdefiniertes @ verwendeEditText
Klasse als Kind einesTextInputLayout
seit ungefähr einem Monat. Wenn der Benutzer eingibt, wird einx
würde im @ erscheindrawableRight
Feld. Ich habe erfolgreich Bilder für @ angezeidrawableLeft
, drawableTop
, unddrawableBottom
, aber EinstellungdrawableRight
liefert mir ein Leerzeichen.Hinweis Klicken Sie auf die Leerstelle, an der dasX
SOLLTE wie erwartet funktionieren, der Text wird gelöscht.
Dieses erste Bild sah ursprünglich so aus:
mmer seit dem Upgrade aufsupport-v4:24.2.0
Die Funktionalität wurde unterbrochen. Es setzt nun das "x" an die Stelle, an der eine Zeichenmenge mit @ gesetzt werden kandrawableBottom
sollte erscheinen. Dieses zweite Bild zeigt das neue Verhalten:
<android.support.design.widget.TextInputLayout
android:id="@+id/til_delivery_info_state"
android:hint="@string/state_hint"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/large_margin"
android:layout_marginRight="@dimen/large_margin">
<com.example.ui.edittexts.ClearableEditText
android:id="@+id/et_state"
android:inputType="textCapWords|text|textNoSuggestions"
android:nextFocusDown="@+id/et_di_zip_code"
android:text="@={deliveryViewModel.state}"
android:gravity="center_vertical|left"
android:singleLine="true"
android:textSize="@dimen/text_size"/>
</android.support.design.widget.TextInputLayout>
Jav final Drawable drawable = ContextCompat.getDrawable(context, R.drawable.ic_clear_text_gray_x);
final Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
mClearTextIcon.setBounds(0, 0, mClearTextIcon.getIntrinsicWidth(), mClearTextIcon.getIntrinsicHeight());
mClearTextIcon.setVisible(true, false);
final Drawable[] compoundDrawables = getCompoundDrawables();
setCompoundDrawablesWithIntrinsicBounds(
compoundDrawables[0],
compoundDrawables[1],
visible ? mClearTextIcon : null,
compoundDrawables[3]);