Лето закончилось, и сейчас самое время представить свой субъективный список из 30 Android-библиотек и проектов, выпущенных за последние 3 месяца. Некоторые из них можно использовать в продакшене, некоторые - определенно нет, но играть со всеми из них будет чистым развлечением. Их определенно стоит проверить. Наслаждаться!

1. MaterialStepperView
Это библиотека, которая реализует Steppers из компонентов дизайна материалов.

В настоящее время есть только вертикальный шаговый просмотр, но в будущем появятся и другие стили. Как это выглядит, вы можете проверить ниже:

Вы можете настроить нормальный / активный цвет точки, значок Готово, а также включить анимацию и установить ее продолжительность. Чтобы проверить это, посетите Установить значения и стили элементов на его Github.
Эта библиотека поддерживает API 17+ и имеет довольно обширную вики, доступную здесь.



2. MultiSnapRecyclerView

Это Android-библиотека для множественной привязки RecyclerView. MultiSnapRecyclerView легко предоставляет функцию привязки к вашему RecyclerView.

В настоящее время предлагает:

  • привязка к start, end и center,
  • snap count, чтобы указать количество элементов для прокрутки,
  • поддержка горизонтальной и вертикальной прокрутки,
  • слушатель, который будет вызываться при щелчке.

Ниже приведен пример использования библиотеки.



3. Garland View для Android

Это библиотека, которую мы можем рассматривать как каркас для создания макетов, как показано ниже:

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

Остальную важную информацию вы можете найти в README. Также есть пример приложения. Библиотека поддерживает API 19 и выше.



4. VegaLayoutManager

Это настраиваемый LayoutManager - затухание и уменьшение заголовка itemView при прокрутке. Он был вдохновлен этим проектом Dribble.



5. ExpandableLayout

Название этой библиотеки говорит само за себя. Это расширяемый макет, основанный на LinearLayout.

README содержит всю информацию, необходимую для начала работы.
Это хорошо задокументировано. Кроме того, есть пример приложения для быстрого перехода к коду.



6. SwipeBackLayou t

SwipeBackLayout - это библиотека, которая может завершить действие с помощью жестов.
Вы можете установить направление слайда, например FROM_LEFT, FROM_TOP, FROM_RIGHT и FROM_BOTTOM.
Вы также можете указать, может ли оно скользить только от края .

SwipeBackLayout должен содержать только одного прямого потомка, например:

  • LinearLayout, RelativeLayout, FrameLayout, TableLayout и т. Д.
  • ScrollView, HorizontalScrollView, NestedScrollView и т. Д.
  • RecyclerView, подкласс _18 _ (_ 19_ и т. Д.)
  • ViewPager, WebView и т. Д.

У проекта есть исчерпывающая документация, образец приложения и APK.



7. SmartCropper

Это библиотека для интеллектуальной обрезки изображения, которая может определить границу и исправить обрезанное изображение. Применимо к удостоверениям личности, визитным карточкам, документам и другим фотографиям урожая.

Функции:

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

В настоящее время в библиотеке используется оптимизированный алгоритм сортировки точек.
CropImageView имеет эффект увеличения выделения и может использовать CropImageView XML настройки.



8. Выбор диапазона дат

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

Описание проекта хорошо написано и легко читается.



9. StoriesProgressView

Всем известны истории, которые Facebook и Instagram представили в своих приложениях. Вот библиотека, которая представляет StoriesProgressView, который расширяет LinearLayout и позволяет добавлять View, как показано ниже:

Проект содержит краткий, но исчерпывающий README вместе с примером приложения.



10. CosmoCalendar

Эта библиотека представляет собой настраиваемый календарь, который предлагает множество функций и модификаций пользовательского интерфейса, например:

  • изменение ориентации календаря,
  • установка пользовательских цветов текста,
  • установка типов и цветов выделения,
  • определение кнопок навигации и т. д.,
  • многое другое.



11. Аниматор перекомпоновки текста

Надеюсь, все слышали о Plaid app. Эта библиотека, разработанная командой Shazam Engineering, является

порт Plaid’s ReflowText, который позволяет легко переключаться между одноуровневыми TextViews - независимо от их размера или стиля.

Библиотека действительно проста в использовании, подключи и играй!



12. AdaptiveIconPlayground

Это не библиотека, а отдельное приложение для Android, разработанное Ником Батчером для экспериментов с адаптивными значками. Согласно README:

Это приложение находит все установленные приложения, поддерживающие адаптивный значок, и отображает их в сетке. Затем он позволяет вам переключать разные формы маски (примерно так, как значок может отображаться на разных устройствах) и исследовать визуальные эффекты, которые могут применяться. В настоящее время предлагается:
Параллакс преобразования слоя на основе прокрутки
Параллакс масштаба слоя на основе касания



13. Тиви

Tivi - это приложение для отслеживания телешоу, подключенное к Track.tv. Его разработал Крис Бэйнс. Работа все еще продолжается, но, что важно, в ней используются самые современные компоненты, библиотеки и инструменты, в том числе: Kotlin, RxJava 2, использование всех компонентов архитектуры (Room, LiveData и Lifecycle- компоненты) и использование dagger-android для внедрения зависимостей.



14. RxIdler

Это IdlingResource для Espresso, который включает в себя RxJava Scheduler, разработанный Square Engineering. Он также поддерживает RxJava 1 и RxJava 2. Удачного тестирования аппаратуры!



15. MRichEditor

Это пример редактора форматированного текста (на основе summernote).
Он поддерживает множество функций, в том числе: полужирный, курсив, подчеркивание, зачеркивание, заголовки (1, 2, 3, 4, 5, 6), абзац, цитата, (не) упорядоченный список, код, горизонтальное правило. , Ссылка, изображение, выравнивание (по центру, заливка, влево, вправо), нижний индекс, верхний индекс, имя и размер шрифта, отступ, отступ, отменить / повторить.

В этом случае вам нужно использовать образец приложения, так как документации почти нет.



16. Шаблон чистой архитектуры Android

Это шаблонное приложение, демонстрирующее чистый архитектурный подход к приложениям для Android, разработанное командой Buffer и Джо Берчем.

Причины создания этого шаблона:

Поэкспериментировать с модуляризацией.

Поделиться некоторыми подходами к чистой архитектуре.

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

Проект на 100% написан на Kotlin с использованием как UI, так и модульных тестов.
Это действительно хорошо задокументировано и отлично подходит для образовательных целей! 100% рекомендация.



17. RxJava2Debug

Если вы используете RxJava, вы знаете, что иногда бывает трудно прочитать исключения и найти проблему в вашем потоке Rx. И это причина, по которой была создана эта библиотека. Подробнее о рациональном можно прочитать в README.

Библиотека предлагает:

  • генерация трассировки стека,
  • фильтрация трассировки стека.


18. Resizer

Resizer - это легкая и простая в использовании Android-библиотека для масштабирования изображений. Он позволяет изменять размер файла изображения до меньшего или большего размера, сохраняя при этом соотношение сторон.

Библиотека вдохновлена ​​библиотекой Компрессор.

Спецификация библиотеки:

Minimum SDK: API 21
 
Default settings:
targetLength: 1080
quality: 80
outputFormat: JPEG
outputDirPath: the external files directory of your app
 
Supported input formats:
BMP
GIF
JPEG
PNG
WEBP
 
Supported output formats:
JPEG
PNG
WEBP
 
Supported quality range: 0~100
The higher value, the better image quality but larger file size
PNG, which is a lossless format, will ignore the quality setting


19. FaceDetector

Эта библиотека позволяет обнаруживать лица в режиме реального времени при предварительном просмотре камеры. Отлично работает с библиотекой Фотоаппарат, но поддерживает и другие библиотеки камеры и исходники.
Использование простое, и проект достаточно хорошо документирован.



20. RxGps
Это еще одна библиотека от Florent Champigny. Он легко находит для нас текущее местоположение. Он совместим с RxJava2. Он также автоматически запрашивает разрешения времени выполнения GPS и проверяет, доступны ли вам службы воспроизведения.



21. MapMe

MapMe - это Android-библиотека для работы с Картами. MapMe добавляет шаблон адаптера в Карты, упрощая управление маркерами и аннотациями.

MapMe работает с Google Maps и Mapbox. README является всеобъемлющим, а библиотека написана на Kotlin.



22. RevelyGradient

Это библиотека для простого управления градиентом.

Вы можете использовать его на Java или в Kotlin. Документация небольшая, но ее достаточно, чтобы начать работу с легкостью.



23. LiteUtilities

Это библиотека, написанная на Kotlin, которая помогает исключить шаблонный код из вашего кода. В настоящее время предлагает:

  • RecyclerUtils - избавьтесь от необходимости каждый раз делать адаптер, настройте адаптер ресайклера всего за 4 строки.
  • ScrollUtils - легко скрыть / показать FloationActionButton при прокрутке при использовании RecyclerView или NestedScrollView.
  • ToastUtils - создание тостов - это всего лишь функция.
  • SPUtils - простой DSL для общих настроек.
  • ValidatorUtils - быстрая и простая проверка текста.
  • LogUtils - Простое и удобное ведение журнала Android.


24. КОИН

KOIN - это фреймворк для внедрения зависимостей, который использует Kotlin и его функциональные возможности для достижения цели!

По словам автора, это:

  • Нет прокси / CGLib,
  • Без генерации кода,
  • Нет самоанализа

Документация действительно хороша, с примерами и вики. Также есть контактная информация (даже со Slack).



25. Необязательный

Minimalistic Необязательный тип для Kotlin, который пытается максимально гладко подогнать свою нулевую безопасную систему типов.

Обоснование по мнению авторов:

Мы не думаем, что сам Kotlin нуждается в Optional, потому что у него есть сильная система типов с нулевым уровнем безопасности, которая эффективно устраняет необходимость в такой оболочке. Однако есть API и библиотеки, такие как RxJava 2, которые не принимают nullvalues.

Мы также думаем, что во многих случаях вы можете использовать sealed classes для выражения отсутствующих значений, однако в простых случаях, таких как передача String? через поток Rx Optional, является более удобным решением.

Чтобы узнать больше, посетите их Github.



26. Параллакс

Это простой View параллакс для Android, имитирующий значки приложений Apple TV.

README действительно хорош, и его стоит проверить.



27. Дроид-визу

Droid-vizu нацелен на предоставление настраиваемых эффектов визуализации путем простой замены Renderer для получения интересных эффектов.



28. Дрон

Это не библиотека Android, а менеджер библиотеки, предоставленный Сезаром Феррейрой. Он был написан из-за зависти сообщества node.js к их быстрым и надежным менеджерам зависимостей. Поэтому вместо того, чтобы искать библиотеку в Google, проверять ее, читать документы и т. Д., Вы просто делаете:

drone add creator/library module

Например:

drone add jakewharton/butterknife

Документация действительно хороша, и это действительно стоит проверить.



29. От дизайна к Android-части2

Это проект, посвященный созданию аккуратного пользовательского интерфейса на Android. На этот раз Сауль Молинеро рассказывает о:

Это действительно отличная лекция!



30. Реагент

Reagent - это место Джейка Уортона для экспериментов с будущими реактивными библиотеками. Стоит ли его использовать? Нет.



Вот и все. Надеюсь, вам понравился список. Если вам понравилась моя статья, не забудьте нажать 👏👏👏, чтобы порекомендовать ее другим 👏👏👏.

Также, чтобы получать уведомления о моих новых статьях и рассказах, подписывайтесь на меня в Medium и Twitter. Вы также можете найти меня в LinkedIn. Ваше здоровье!