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. –
- 1. Użycie twierdzeń zawsze i zawsze
- 2. wielbłąd ftp wydaje się powiesić na zawsze
- 3. Używanie na zawsze z Node.js
- 4. Array.Copy zawsze row-major?
- 5. AssemblyResolve zawsze się podnosił, pytając o MyAssembly.resources
- 6. AdvertisingIdClient getAdvertisingIdInfo zawiesza się na zawsze
- 7. NSCursor zawsze resetuje się do strzałki
- 8. Wtyczka Jenkins powershell zawsze kompiluje się pomyślnie
- 9. dlaczego cout.tellp zawsze zwraca -1?
- 10. reflect.Fot.annotations zawsze null
- 11. Czy odczyty SQLite zawsze trafiają na dysk?
- 12. Zawsze zwracaj wartość dodatnią
- 13. MPMoviePlayerController - Czas zawsze 0
- 14. checkbox jest zawsze "włączony"
- 15. carrierwave content_type zawsze zero
- 16. Request.IsAuthenticated jest zawsze fałszywe
- 17. MotionEvent.getPointerCount() jest zawsze 1
- 18. iOS 8 uruchom aplikację na zawsze lub wyłącz ekran
- 19. Integer podział zawsze zero
- 20. Restoint POST zawsze pusty
- 21. OnFocusChange nie zawsze działa
- 22. viewHolder.getAdapterPosition() zawsze zwraca -1
- 23. PhpStorm $ _POST zawsze pusty
- 24. navigator.onLine nie zawsze działa
- 25. Zawsze centrum UIView
- 26. Zadanie jest zawsze aktualne
- 27. ExecuteNonQuery() zwraca -1 zawsze
- 28. Zawsze wyświetlaj szynę niceScroll
- 29. opcjonalny parametr zawsze wypełniona
- 30. MessageQueue.CanWrite zawsze zwraca true
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