Во всех отношениях прекрасный пост про кастомные вьюхи от Lucas Rocha. Вот честно, мне очень жаль, что я не наткнулся на него сильно раньше, многих граблей удалось бы избежать. В статье расписано несколько типов кастомных вью, их достоинства и недостатки. Очень рекомендую открывать код, на который автор ссылается, и внимательно его разбирать. Подводя итог, именно таких статей хочется видеть как можно больше. Респект чуваку. Пис 🤘🏻
#view #layout
http://lucasr.org/2014/05/12/custom-layouts-on-android/
#view #layout
http://lucasr.org/2014/05/12/custom-layouts-on-android/
Lucas Rocha
Custom Layouts on Android
If you ever built an Android app, you have definitely used some of the built-in layouts available in the platform—RelativeLayout, LinearLayout, FrameLayout, etc. They are our bread and butter for building Android UIs.
Я думал, что уже кидал эту статью сюда. Оказалось, что нет. Спасибо за втык улетает подписчику @ozodrukh. Речь тут пойдет опять-таки о кастомных вьюхах, но на этот раз конкретно про custom ViewGroup. Пример с кодом (правда, реализацию onLayout() автор оставил на читателя), бенчмарки и тому подобные штуки - внутри. Пис ✊🏻
#view #layout
https://sriramramani.wordpress.com/2015/05/06/custom-viewgroups/
#view #layout
https://sriramramani.wordpress.com/2015/05/06/custom-viewgroups/
Sriram Ramani
Custom ViewGroups
Writing better performing custom ViewGroups in Android.
Facebook на своем F8 показали декларативный фреймворк для построения интерфейса - Litho. Зачем, почему и как - смотри в видео по ссылке, а я расскажу о своем впечатлении. Конечно, пока рано что-то дельное говорить, надо смотреть, как оно умеет в производительность и что у него внутри (у меня пока не было времени залезть внутрь, но код выложен на Github, в этом плане Facebook всегда красавцы), но выглядит довольно интересно. Смущает правда, что ты вешаешь какую-то аннотацию, а дальше оно как-то работает само. В итоге без чтения сорцов можно построить в голове воздушный замок, который совершенно не соответствует реальному положению дел. Насколько я понял из видео, Litho генерирует кучу кода в build-time. Он-то и позволяет всей этой красоте работать. В общем, довольно забавно. Может оно и взлетит, кто знает. Пис 🤞🏻
#litho #view #layout
https://developers.facebook.com/videos/f8-2017/litho-a-declarative-framework-for-efficient-uis/
#litho #view #layout
https://developers.facebook.com/videos/f8-2017/litho-a-declarative-framework-for-efficient-uis/
Meta for Developers
Meta for Developers - Litho: A Declarative Framework for Efficient UIs
Components for Android allows developers to implement complex, efficient RecyclerViews through a simple declarative API. In this session we’ll discuss...
Сегодня обжёгся о нюансы работы
и
. Это было очень глупо и стыдно, но наверняка я не один такой. Поэтому держи небольшую статью, в которой кейс разобран.
#view #lifecycle #window
https://medium.com/square-corner-blog/android-leak-pattern-subscriptions-in-views-18f0860aa74c
View.onAttachedToWindow()
и
View.onDetachedFromWindow()
. Это было очень глупо и стыдно, но наверняка я не один такой. Поэтому держи небольшую статью, в которой кейс разобран.
#view #lifecycle #window
https://medium.com/square-corner-blog/android-leak-pattern-subscriptions-in-views-18f0860aa74c
Medium
Android leak pattern: subscriptions in views
In Square Register Android, we rely on custom views to structure our app. Sometimes a view listens to changes from an object that lives…
Некто Дмитрий Рабецкий (надеюсь, не переврал фамилию) написал классную статью про рендеринг 2D графики и Hardware Acceleration. Тут важно понимать, что речь идёт не про рисование каких-то простых кастомных вьюшек, а про несколько более сложные конструкции.
#view #rendering #graphics
https://medium.com/rosberryapps/make-your-custom-view-60fps-in-android-4587bbffa557
#view #rendering #graphics
https://medium.com/rosberryapps/make-your-custom-view-60fps-in-android-4587bbffa557
Medium
Make Your Custom View 60fps in Android
How often did you have to work with 2D graphics creating your own custom View? I’m sure in a majority of projects 2D drawing comes down to…
Доклад про новое в Android Support Library.
-
-
-
-
-
- Material components:
* Обновили
*
*
#supportlib #view #material #talk
https://youtu.be/jdKUm8tGogw
-
RecyclerView Selection Library - штука, помогающая реализовать selection над списком. Умеет в selection жесты как в Google Photos, что очень даже неплохо. Хотя, это и не очень-то новость, вроде бы про неё я уже давно что-то слышал-
ListAdapter - какая-то странная поделка, упрощающая использование DiffUtil в меняющихся списках, но, судя по коду, который показали, она не то чтобы сильно сокращает код, который придётся написать + ограничивает ваш Adapter на один List, а этого не всегда достаточно-
androidx.webkit - позволяет использовать WebView, обновляемый через Play Store, на старых API-
CustomTab переезжает в androidx.browser + появляется возможность воткнуться в контекстное меню вашей CustomTab и добавить своё действие-
HeifWriter - позволяет эффективно записать YUV byte buffers, Surface и Bitmap в файл, но пока только на API 28+. Обещают добавить backport- Material components:
* Обновили
TextInputLayout - теперь он с рамкой и вроде бы умеет добавлять кнопку “Очистить”*
Button теперь можно по-разному закруглять и добавлять в них иконки*
BottomAppBar - по сути тот же AppBar, только снизу#supportlib #view #material #talk
https://youtu.be/jdKUm8tGogw
YouTube
Android Jetpack: What’s new in Android Support Library (Google I/O 2018)
Get to know AndroidX -- the new name and packaging for the Android Support Library -- the foundation for Android libraries in Jetpack, and learn about features available in the 1.0.0 release.
Rate this session by signing-in on the I/O website here → htt…
Rate this session by signing-in on the I/O website here → htt…
Просто интересная находка: статья от Romain Guy из ранних времён Android про некоторые оптимизации рисования background’ов.
#view #performance
http://www.curious-creature.com/2009/03/04/speed-up-your-android-ui/
#view #performance
http://www.curious-creature.com/2009/03/04/speed-up-your-android-ui/
@sawelyy из CleverPumpkin прислал ссылку на либу, которую они запилили. Это по сути View календаря, которая позволяет делать много разного. И вот прямо месяца два назад нам в App in the Air нужен был выбор интервала дат. Ничего нормального мы не нашли и написали сами. Хотя вот такая вот либа потенциально сэкономила бы приличный кусок времени. Поэтому посмотрите, может быть кому-то пригодится.
#library #calendar #view
https://github.com/CleverPumpkin/CrunchyCalendar
#library #calendar #view
https://github.com/CleverPumpkin/CrunchyCalendar
GitHub
GitHub - CleverPumpkin/CrunchyCalendar: A beautiful material calendar with endless scroll, range selection and a lot more!
A beautiful material calendar with endless scroll, range selection and a lot more! - CleverPumpkin/CrunchyCalendar
Тут ребята из s23NYC написали статью про то, как внутри своей View нафигачить прикольную волнистую анимацию, да ещё и подвязать это всё к SensorManager. Весь код доступен, читается всё очень просто, да и выглядит предельно вкусно. Крайне рекомендую почитать.
#view #animation #sensor
#view #animation #sensor
Medium
Geometric Android Animations using the Canvas
Our team at s23NYC recently had the pleasure of bringing the SNKRS Pass experience to the Android app. SNKRS Pass is a feature in the…
Иногда натыкаюсь на странное непонимание сабжа некоторыми разработчиками, поэтому держите две статьи (хоп и хэй). Это своеобразный ликбез про доставку событий до
#view #viewmodel #livedata
View ровно один раз. В статьях есть потенциальные проблемы, но в качестве tutorial пойдёт.#view #viewmodel #livedata
Medium
LiveData with SnackBar, Navigation and other events (the SingleLiveEvent case)
2021 Update: This guidance is deprecated in favor of the official guidelines.
Небольшая статья про
#view #handler
post и postDelayed. Она совсем не глубокая и уж точно не детальная, но иногда полезно напомнить, что есть такой removeCallbacks, и что помимо Handler есть ViewTreeObserver, который лучше подходит для ряда случаев.#view #handler
Medium
Stop Using Post/PostDelayed in Your Android Views
Prevent avoidable crashes
“Когда не выходит насухо, стоит прибегнуть к смазке”. Шило же дурного не посоветует. Хлеб похорошеет, если его смазать маслом. Место укуса комара можно смазать специальным средством, чтобы не чесалось. Ну а всякую работу с View и анимациями Chris Banes решил смазать корутинами.
Вот тут описано, что там куда можно присобачить, чтобы дожидаться следующего прохода layout или окончания анимации прямо без коллбэка и прямо в корутине.
#ui #view #coroutine
Вот тут описано, что там куда можно присобачить, чтобы дожидаться следующего прохода layout или окончания анимации прямо без коллбэка и прямо в корутине.
#ui #view #coroutine