Pull to refresh

Comments 13

Суть статьи в том, что иконка не затемняется и надо писать кастомного наследника?
Судя из статьи, достаточно стейтлист описать
адский перевод, особенно вот эта часть «Это было несколько разочарование, когда я попробовала ее и обнаружила, что по-умолчанию изменение значка было лишь его затемнение. „

Спасибо вам. Обратная связь для меня очень важна :)
Не имею большого опыта в переводах. Эту часть изменил.

Обновился до 24.2 за счет этой «фишки» с PasswordVisibilityToggle поломались compoundDrawable которые я сам ставлю для EditText находящихся внутри TextInputLayout, что интересно поломался этот функционал даже в обычных полях не связанных с паролями. Т.е. все ранее работающие drawable установленные с права у полей поломались, не отображаются.
Еще из радостных нововедений — не смотря на то, что getParent() у EditText ранее возвращал TextInputLayout как и ожидалось, теперь добавилась еще одна прослойка FrameLayout и все пришлось чинить. Что странно Гугл сам советует избегать лишних контейнеров, посему не ясно зачем добавлять неявно этот FrameLayout между Edit и TextInputLayout.

Вообщем в мой проэкт обновление не зашло. Слишком много всего поламалось, потратил день на адаптацию и рашил, что оно мне собственно не нужно. Печально. А так хотелось DIffUtil применить.
Если drawable были векторными, то они, кажется, должны были поломаться, так как обещали отключить их поддержку.

Поддержку отключили еще в преведущих релизах (для API < 21) довольно давно. Заменили на создание битмапов из ваших векторов и упаковку их нарезанных под разные DPI весрий в ваш APK. Что полностью убивало плюс вектора — маленький размер приложения. Благо это можно было выключить флагом в Gradle:


vectorDrawables.useSupportLibrary = true

Далее вектора вполне себе загружаются через VectorDrawavleCompat или srcCompat свойство ImageView. Так, что с векторами проблем нет.

Там жесть какая-то сделалась :(

Вот маркеры ошибок:
было в 24.1.1
image

стало в 24.2.0
image

контрибьютил немного в одну стороннюю библиотеку, реализующую подобную функциональность, и автор библиотеки проходил через точно такие же стадии — так что еще пара версии AppCompat и Крис Бэйнс отточит свой велосипед
Как вариант решения можете использовать метод setError не к EditText напрямую, а к оборачивающему его TextInputLayout.
Можно, но в этом случае наблюдается другое поведение по сравнению с EditText.error: надпись об ошибке показывается под контролом, без маркера, и автоматически не пропадает при изменении текста в поле ввода.

Надпись под контролом выглядит более истетично. Кроме того ошибко при вводе текста можно убирать самому по необходимости это довольно тривиальная задача.

это полностью соответствует гайдам для полей ввода
Sign up to leave a comment.

Articles