Лето закончилось, и сейчас самое время представить свой субъективный список из 30 Android-библиотек и проектов, выпущенных за последние 3 месяца. Некоторые из них можно использовать в продакшене, некоторые - определенно нет, но играть со всеми из них будет чистым развлечением. Их определенно стоит проверить. Наслаждаться!
1. MaterialStepperView
Это библиотека, которая реализует Steppers из компонентов дизайна материалов.
В настоящее время есть только вертикальный шаговый просмотр, но в будущем появятся и другие стили. Как это выглядит, вы можете проверить ниже:
Вы можете настроить нормальный / активный цвет точки, значок Готово, а также включить анимацию и установить ее продолжительность. Чтобы проверить это, посетите Установить значения и стили элементов на его Github.
Эта библиотека поддерживает API 17+ и имеет довольно обширную вики, доступную здесь.
Это Android-библиотека для множественной привязки RecyclerView. MultiSnapRecyclerView легко предоставляет функцию привязки к вашему RecyclerView.
В настоящее время предлагает:
- привязка к
start,
end
иcenter,
snap count
, чтобы указать количество элементов для прокрутки,- поддержка горизонтальной и вертикальной прокрутки,
- слушатель, который будет вызываться при щелчке.
Ниже приведен пример использования библиотеки.
Это библиотека, которую мы можем рассматривать как каркас для создания макетов, как показано ниже:
GarlandView
состоит из классов для внутренних элементов, которые прокручиваются по вертикали, и внешних элементов, которые прокручиваются по горизонтали, и каждый из которых содержит один внутренний элемент.
Остальную важную информацию вы можете найти в README. Также есть пример приложения. Библиотека поддерживает API 19 и выше.
Это настраиваемый LayoutManager
- затухание и уменьшение заголовка itemView при прокрутке. Он был вдохновлен этим проектом Dribble.
Название этой библиотеки говорит само за себя. Это расширяемый макет, основанный на 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
настройки.
Средство выбора диапазона дат - это окно выбора календаря, в котором отображается настраиваемое средство выбора диапазона дат с улучшенным пользовательским интерфейсом.
Описание проекта хорошо написано и легко читается.
Всем известны истории, которые Facebook и Instagram представили в своих приложениях. Вот библиотека, которая представляет StoriesProgressView
, который расширяет LinearLayout
и позволяет добавлять View, как показано ниже:
Проект содержит краткий, но исчерпывающий README вместе с примером приложения.
10. CosmoCalendar
Эта библиотека представляет собой настраиваемый календарь, который предлагает множество функций и модификаций пользовательского интерфейса, например:
- изменение ориентации календаря,
- установка пользовательских цветов текста,
- установка типов и цветов выделения,
- определение кнопок навигации и т. д.,
- многое другое.
11. Аниматор перекомпоновки текста
Надеюсь, все слышали о Plaid app. Эта библиотека, разработанная командой Shazam Engineering, является
порт Plaid’s ReflowText, который позволяет легко переключаться между одноуровневыми TextViews - независимо от их размера или стиля.
Библиотека действительно проста в использовании, подключи и играй!
Это не библиотека, а отдельное приложение для 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, которые не принимаютnull
values.
Мы также думаем, что во многих случаях вы можете использовать
sealed class
es для выражения отсутствующих значений, однако в простых случаях, таких как передачаString?
через поток RxOptional
, является более удобным решением.
Чтобы узнать больше, посетите их Github.
26. Параллакс
Это простой View
параллакс для Android, имитирующий значки приложений Apple TV.
README действительно хорош, и его стоит проверить.
27. Дроид-визу
Droid-vizu нацелен на предоставление настраиваемых эффектов визуализации путем простой замены Renderer для получения интересных эффектов.
28. Дрон
Это не библиотека Android, а менеджер библиотеки, предоставленный Сезаром Феррейрой. Он был написан из-за зависти сообщества node.js к их быстрым и надежным менеджерам зависимостей. Поэтому вместо того, чтобы искать библиотеку в Google, проверять ее, читать документы и т. Д., Вы просто делаете:
drone
addcreator/library
module
Например:
drone add jakewharton/butterknife
Документация действительно хороша, и это действительно стоит проверить.
29. От дизайна к Android-части2
Это проект, посвященный созданию аккуратного пользовательского интерфейса на Android. На этот раз Сауль Молинеро рассказывает о:
- с помощью инструмента ShapeShifter от Алекса Локвуда
AndroidVectorDrawables
,ScaleDrawables
,- Адаптивные значки и многое другое.
Это действительно отличная лекция!
30. Реагент
Reagent - это место Джейка Уортона для экспериментов с будущими реактивными библиотеками. Стоит ли его использовать? Нет.
Вот и все. Надеюсь, вам понравился список. Если вам понравилась моя статья, не забудьте нажать 👏👏👏, чтобы порекомендовать ее другим 👏👏👏.
Также, чтобы получать уведомления о моих новых статьях и рассказах, подписывайтесь на меня в Medium и Twitter. Вы также можете найти меня в LinkedIn. Ваше здоровье!