Zastanawiam się, czy zawsze można zachować etykietę rozwiniętą, niezależnie od tego, czy jest tekst w EditText
. Rozejrzałem się w źródle i to jest użycie ValueAnimator
i counter
wewnątrz, aby animować lub nie animować zmian. Może mogę ustawić niestandardowy TextWatcher
z niestandardowym ValueAnimator
na EditText
wewnątrz ?Keep TextInputLayout zawsze koncentruje się lub utrzymuje etykietę zawsze rozwiniętą
Odpowiedz
Obecna wersja TextInputLayout
istnieje specjalnie po to, aby zrobić jedną rzecz - pokazać/ukryć etykietę pomocnika w zależności od tego, czy jest jakiś tekst w numerze EditText
, czy nie. To, czego chcesz, to inne zachowanie, więc potrzebujesz innego widżetu niż TextInputLayout
. Ten przypadek jest idealnym kandydatem do napisania niestandardowego widoku, który będzie pasował do twoich potrzeb.
Powiedział, że Twój pomysł ustawienia niestandardowe TextWatcher
do EditText
nie będzie działać albo dlatego TextInputLayout
nie robi nic na jego wewnętrzne faktycznie obsłużyć animacje narażać - ani updateLabelVisibility()
, setEditText()
, Magic Handler
że działa albo coś innego. Oczywiście na pewno nie chcemy pójść ścieżką do refleksji, żeby zobaczyć taki detal, więc ...
Po prostu użyj MaterialEditText! Ma następującą właściwość, która robi dokładnie to, co chcesz.
met_floatingLabelAlwaysShown: Zawsze pokazać etykietę pływający, zamiast animowanie go in/out. Fałsz jako domyślny.
Biblioteka jest dość stabilna (sam korzystam z niej w dwóch różnych projektach) i ma wiele opcji do dostosowania. Mam nadzieję, że to pomoże!
Dla mnie wzorem wsparcia 23.3.0 działa w użyciu
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="wow such hint"
app:hintEnabled="true"
app:hintAnimationEnabled="false"
/>
To nie działa dla wersji v.2.0.2; Etykieta nie jest rozwinięta, gdy tekst jest pusty. –
dobry połów w odniesieniu do materiału EditText lib, widziałem, że lib wcześniej, ale myślę, że mogę ekstrapolować pewnej logiki, aby utworzyć niestandardowy składnik specjalnie dla mojego przypadku użycia: thumbs_up: – AndyRoid
Tak, jak powiedziałem w moim pierwszym akapicie - jest to idealny kandydat do niestandardowego widoku tekstu. Powodzenia! – Vesko
Zgadzam się z tym rozwiązaniem, thx @Vesko – wanz