Что я смог сделать на этой неделе?

Ничего кроме приложения OpenVK Legacy такого не сделал, но крупные нововведения в нем я анонсировал и представил. Вот вам список нововведений:

1️⃣ Переработана реализация бокового меню

Прошлая реализация использовала оба ListView: один ListView для главного меню, а другой - для меню аккаунта. Функциональность и производительность оказались далеко не в пользу ListView.

В связи с этим было принято решение перейти на RecyclerView, просто потому скрытые от интерфейса элементы можно прямо не держать в памяти, а их переиспользовать в момент показа.

RecyclerView поддерживает различные типы элементов, с помощью которых можно назначить любой удобный вам макет для конкретного типа элемента.

До этого RecyclerView применялся в OpenVK Legacy почти везде, кроме самого меню. Теперь это недоразумение было исправлено.

Кстати, в оригинальном приложении ВКонтакте версии 3.x так задумано, что в меню отображаются первые пять друзей и сообществ.

2️⃣ Добавлены три режима анимации бокового меню

Можно либо выключить анимацию, либо выбрать одну из двух - “Контраст” или “Сдвиг”.

“Контраст” применяется по умолчанию и больше похож на вариант из ВК 3.x с затемнением и параллаксом, а “Сдвиг” делает похожим на первоначальный вариант из ВК 2.x.

3️⃣ Переделан раздел “Друзья” с возможностью перелистывания вкладок

Первоначальная реализация этого раздела была несколько проще и состояла из TabHost и трёх RecyclerView.

Теперь же вместо них используются сторонняя библиотека PagerSlidingTabStrip для вкладок и ViewPager с тремя фрагментами, внутри которых расположены те самые RecyclerView.

К слову, здесь применяется ViewPager первой версии, который входил в компонент Android Support Library (AppCompat).

ViewPager2 я использовал уже в других проектах, но с учётом того, что OpenVK Legacy проектируется для старых гаджетов на Android, здесь применяется только первая версия.

Но и к изначальной реализации, что была в ВК 3.x, становимся чуть ближе, но под капотом это даже не модификация официального клиента ВКонтакте тех лет, а чисто его переработанная версия, написанная с нуля и с использованием только серверов любительского проекта OpenVK.

Из общего есть только макеты и парочка реализаций.

Да и открытый исходный код имеется на Java и Android View: https://github.com/openvk/mobile-android-legacy

Что я смог сделать на этой неделе? | Сетка — социальная сеть от hh.ru Что я смог сделать на этой неделе? | Сетка — социальная сеть от hh.ru