Android TV библиотеки
Это коллекции библиотек, связанных с интерфейсом, плеером и другими аспектами разработки для Android TV.
Я не могу гарантировать включение всех библиотек в список, некоторые отличные ТВ-библиотеки могут быть упущены. Приглашаем всех дополнить этот список.
QQ 1 группа: 522186932 (полная) QQ 2 группа: 468357191 (полная) QQ 3 группа: 976338508
Вернулся в дом своих родителей в Хайнан Ледонг, есть свободное время для работы над проектами приложений, связанными с Android TV.
Также приглашаем присоединиться к нашей группе в WeChat:
极米科技有限公司招聘各种技术岗位,后台,应用,系统,还有硬件等等.
想投简历的小伙伴发给我,我直接内推,欢迎各位加入极米这个大家庭;
以下面的格式,发到我的邮箱(hailong.qiu@xgimi.com)
姓名,手机,邮箱
推荐理由
简历
------------
评论区有详细的职位列表
Статьи по теме Android TV: https://www.jianshu.com/c/3f0ab61a1322 Мой личный блог: https://blog.csdn.net/qw85525006/category_6228458.html [приглашаю учиться вместе] Интересные статьи о разработке на Android каждый день: https://www.wanandroid.com/ Сайт навигации
Проект: https://github.com/googlesamples/leanback-showcase
Демонстрация Leanback от Google, после просмотра которой вы поймёте, как использовать эту технологию. Leanback очень гибкий, основан на идее MVP.
Проект: https://github.com/DukerSunny/V14Leanback
Этот проект в основном копирует код Leanback. Библиотека для Android TV с постраничной загрузкой списка, элементы управления наследуются от RecyclerView, часть исходного кода взята из пакета поддержки Google V17 Leanback, совместима с более ранними версиями.
Проект: https://github.com/FrozenFreeFall/Leanback_tv_widget
В этом проекте были внесены лишь некоторые изменения в код.
Проект: https://github.com/dextorer/Sofa
Библиотека для Android TV, расширяющая функциональность Leanback.
Модификация BrowseFragment для создания одного заголовка для одной страницы. Хотя последняя версия Leanback уже поддерживает эту функцию.
Проект: https://github.com/songwenju/CustomTvRecyclerView
Здесь реализована функция перелистывания RecyclerView по клавишам, можно использовать код в качестве примера.
Проект: https://github.com/Fredlxy/TVRecyclerView
Настраиваемый RecyclerView для использования на ТВ.
Проект: https://github.com/zhousuqiang/TvRecyclerView
Улучшение на основе TwoWayView, поддерживает быстрое перемещение фокуса, не перекрывается при выборе элемента (не нужно вызывать bringChildToFront() вручную), поддерживает горизонтальное и вертикальное расположение, позволяет настраивать расстояние до края или центрирование выбранного элемента, а также интервал между элементами по горизонтали и вертикали, предоставляет обратные вызовы для отслеживания выбранных элементов.
Проект: https://github.com/henryblue/TvRecyclerView
Собственный настраиваемый RecyclerView для Android TV, не работает на мобильных устройствах.
Проект: https://github.com/FrozenFreeFall/vlayout
Хотя это только для мобильных устройств и не поддерживает ТВ, идея этого элемента управления неплоха, и она решает проблему с производительностью Leanback на слабых устройствах (вложенные RecyclerViews), модификация для поддержки ТВ может стать мощным инструментом.
Проект: https://github.com/alibaba/tangram-android
Использование формата данных JSON для загрузки интерфейса, содержит полезный код для изучения.
Проект: https://github.com/lucasr/twoway-view
Может использоваться с Leanback, включает в себя 1 N компоновку, требует модификации исходного кода Leanback.
Проект: https://gitee.com/kumei/android_tv_metro
Открытый исходный код сообщества, который можно скомпилировать, с комментариями к анализу кода, исходный код можно загрузить самостоятельно.
Следует отметить, что архитектура и часть кода этого проекта имеют ценность в качестве примеров, макет динамически генерируется.
Проект: https://gitee.com/kumei/AndroidTVWidget
Последний проект был переработан и доступен по адресу: https://gitee.com/kumei/android-tv-frame-new
Включает в себя мобильные рамки, клавиатуру, listview, gridview и RecyclerView.
Проект: https://github.com/evilbinary/TvWidget
Можно использовать как библиотеку или в качестве учебного материала, всё ещё хороший проект.
Проект: https://github.com/lf8289/BorderViewDemo
Мобильная рамка.
Поддерживает установку цвета или изображения в качестве рамки фокуса; поддерживает изменение закруглённых углов.
Проект: https://github.com/zhousuqiang/TvFocusBorder
Проект: https://github.com/zhousuqiang/TvWidget fultter tv 开发框架
Проектный адрес: https://github.com/coderJohnZhang/flutter_tv.
https://github.com/flutter/flutter/issues/13749.
https://github.com/flutter/flutter/issues/13633.
Launcher — справочный исходный код
LeanbackTvSample. В статье рассказывается об использовании ViewPager + Leanback, также представлена большая часть DEMO. Можно использовать в качестве примера.
Проектный адрес: https://github.com/iSuperRed/LeanbackTvSample.
Адрес статьи: https://www.jianshu.com/p/b286e087b074.
SMTVLauncher. Проектный адрес: https://github.com/FrozenFreeFall/SMTVLauncher.
AndroidTVLauncher. Проект основан на Leanback. Можно использовать как пример кода других разработчиков.
Проектный адрес: https://github.com/JackyAndroid/AndroidTVLauncher.
TVSample. Проектный адрес: https://github.com/hejunlin2013/TVSample. Два примера страниц TV Launcher:
Leanback — рабочий стол. Проектный адрес: https://gitee.com/chuangshiji/Launcher.
Адаптивные библиотеки
AndroidAutoSize. Проектный адрес: https://github.com/JessYanCoding/AndroidAutoSize.
AutoLayout. Проектный адрес: https://github.com/hongyangAndroid/AndroidAutoLayout. Автор временно не поддерживает библиотеку, но её можно использовать для поддержки отсутствующих компонентов или неизвестных функций. Для использования достаточно указать разрешение дизайна.
SupportMultipleScreensUtil. Проектный адрес: https://github.com/baixiaoY/SupportMultipleScreensUtil. Вызов функции преобразования упрощает использование.
AutoUtils. Проектный адрес: https://gitee.com/kumei/android-tv-frame-new/blob/develop/tv-widget/common/src/main/java/com/open/common/AutoUtils.java. Ручная адаптация, простая и удобная в использовании.
Инструмент генерации значений. Инструмент находится по адресу: https://gitee.com/kumei/AndroidTVWidget/tree/master/Tool. Не рекомендуется к использованию, так как при появлении новых моделей с другим разрешением экрана потребуется повторное создание.
ConstraintLayout. Новый вид ограничений от Android, который также может использоваться для частичной адаптации. Помогает оптимизировать макет интерфейса и избежать глубоких вложений.
Анимационные библиотеки
Direct Tool — инструмент для совместной работы дизайнеров и инженеров над анимацией. Проектный адрес: https://gitee.com/hailongqiu/directTool.
AndroidViewAnimations — коллекция анимаций.
OpenAnim — библиотека анимации после упаковки свойств. Проектный адрес: https://gitee.com/kumei/OpenAnim.
SVG-анимация. Проектный адрес: https://github.com/alexjlockwood/adp-delightful-details.
Sharp — SVG-анимации. Проектный адрес: https://github.com/Pixplicity/sharp.
recyclerview-animators — библиотека анимаций для recyclerview. Проектный адрес: https://github.com/wasabeef/recyclerview-animators.
Material-Animations — больше не поддерживается. Содержимое всё ещё актуально в качестве справочного материала, но не содержит последних обновлений.
Loop3DRotation-master — 3D-анимация вращения.
ParticleTextView — анимация частиц.
TextSurface — демонстрация текста с анимацией.
Другие элементы пользовательского интерфейса
ShadowImageView — компонент с тенью. Проектный адрес: https://github.com/yingLanNull/ShadowImageView.
ShadowLayout — простой компонент с тенью. Проектный адрес: https://github.com/lijiankun24/ShadowLayout.
FlycoLabelView и labelview — компоненты с угловыми метками. Проектные адреса: https://github.com/H07000223/FlycoLabelView, https://github.com/linger1216/labelview.
RoundAngleFrameLayout — компонент с закруглёнными углами. Проектный адрес: https://github.com/Y-bao/RoundAngleFrameLayout.
MaterialRatingBar — компонент со звёздами. Проектный адрес: https://github.com/DreaminginCodeZH/MaterialRatingBar. Баннерные вьюпейджеры
Баннерный стиль приложений, таких как Tencent Video, QQ Music, Cool Music, Alipay, Tianmao, Taobao, Youku Video, Ximalaya, Netease Cloud Music, Bilibili и других, можно реализовать с помощью BannerViewPager!
Баннеры
Рисунок 1. Пример баннера (https://github.com/youth5201314/banner/blob/master/images/banner_example.gif)
Litho — это декларативный фреймворк для эффективного создания пользовательских интерфейсов Android от Facebook. Его основная цель — улучшить производительность прокрутки сложных списков RecyclerView и снизить потребление памяти.
Официальный сайт Litho: https://fblitho.com/. Статья Meituan Tech: https://tech.meituan.com/2019/03/14/litho-use-and-principle-analysis.html.
Смена тем
Проекты для загрузки ресурсов APK:
Выбор цвета
Проекты цветовых селекторов:
Статьи по теме
Leanback — библиотека для создания домашних экранов на телевизорах Android. Статьи:
RecyclerView DiffUtil.
Фокус: статьи о фокусе на Android TV:
Видеоплееры
UPyun Android Media Player — SDK для потоковой передачи мультимедиа на платформе Android, основанный на ijkplayer. Поддерживает быструю настройку и вторичную разработку, а также предоставляет простой и быстрый интерфейс для разработчиков Android.
Проект: https://github.com/upyun/android-player-sdk.
GSYVideoPlayer — видеоплеер (IJKplayer), поддерживает HTTPS, водяные знаки, GIF-снимки, рекламные ролики, рекламу в начале и середине ролика, одновременное воспроизведение нескольких роликов, базовое перетаскивание, регулировку звука и яркости, буферизацию во время воспроизведения, вращение роликов (90, 270 градусов), синхронизацию с ручным вращением, список воспроизведения, добавление элементов управления в качестве обложки, анимацию списка полноэкранного режима, скорость загрузки видео, перетаскивание списка небольших окон, эффекты перехода 5.0, изменение размера, переключение проигрывателя, предварительный просмотр прогресса, другие небольшие анимации и т. д.
Рисунок 2. Пример работы GSYVideoPlayer (https://github.com/CarGuo/GSYVideoPlayer/raw/master/33.gif).
ExoPlayer — проект Google.
Vitamio — бесплатный проект для личного использования, платный для коммерческого. Официальный сайт: https://www.vitamio.org/. Проект: https://github.com/yixia/VitamioBundle.
VideoPlayerManager — помогает управлять VideoPlayer, упрощая его использование в ListView и RecyclerView. Проект: https://github.com/danylovolokh/VideoPlayerManager.
PlayerBase — решение для обработки компонентов декодера и просмотра. Проект: https://github.com/jiajunhui/PlayerBase.
JiaoZiVideoPlayer («Цзяоцзы видеоплеер») — проект: https://github.com/lipangit/JiaoZiVideoPlayer.
ijkplayer — проект Bilibili: https://github.com/bilibili/ijkplayer.
DanmakuFlameMaster — проект Bilibili для анализа и рисования субтитров на Android: https://github.com/bilibili/DanmakuFlameMaster.
AndroidVideoCache — проект Danikula для добавления поддержки кэширования к VideoView/MediaPlayer, ExoPlayer или любому другому плееру с помощью одной строки кода: https://github.com/danikula/AndroidVideoCache. NiceVieoPlayer — это Android-видеоплеер, который поддерживает переключение между полноэкранным и оконным режимами.
Он использует IjkPlayer и MediaPlayer вместе с TextureView для воспроизведения видео. Поддерживает воспроизведение локальных и сетевых видеофайлов. Позволяет плавно переключаться между оконным режимом и полноэкранным режимом, а также обеспечивает плавное воспроизведение в RecyclerView. Предоставляет возможность управления воспроизведением с помощью жестов: можно регулировать прогресс, яркость и громкость воспроизведения. Также есть поддержка переключения разрешения видео. Можно настроить пользовательский интерфейс управления.
TV ввод текста
Существует несколько вариантов ввода текста на китайском языке:
Другие проекты
DiskLruCache — библиотека кэширования для Android. Адрес проекта: https://github.com/JakeWharton/DiskLruCache.
Tinker — инструмент для обновления приложений без необходимости переустановки APK. Он поддерживает обновление dex, библиотек и ресурсов. Доступен по ссылке https://github.com/Tencent/tinker.
Bugly Android Hotfix — инструмент от Tencent для обновления приложений. Полностью бесплатный. Ссылка: https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix/?v=20200312155538.
AndFix — ещё один инструмент для горячего обновления от Alibaba. Находится по адресу https://github.com/alibaba/AndFix.
VirtualXposed — реализация Xposed модулей в среде без рута, основанная на VirtualApp и Epic. Доступна по ссылке https://github.com/android-hacker/VirtualXposed.
Nuwa — лёгкий фреймворк для AOP. Расположен по адресу https://github.com/jasonross/Nuwa.
Lancet — легковесный фреймворк AOP от Eleme. Доступен по адресу https://github.com/eleme/lancet.
AdbLib — набор инструментов для работы с adb. Проект можно найти по адресу https://github.com/cgutman/AdbLib.
jOOR — удобная библиотека для использования рефлексии. Найдена по адресу https://github.com/jOOQ/jOOR.
AndPermission — библиотека управления разрешениями для Android. Официальный сайт: http://yanzhenjie.github.io/AndPermission/cn. Проект доступен по ссылке https://github.com/yanzhenjie/AndPermission.
HDMI DEMO — проект, демонстрирующий использование HDMI. Размещён по адресу https://gitee.com/kumei/TIFSample. Блог проекта: http://www.jianshu.com/p/385c92fceb16.
zxing — библиотека для работы с QR-кодами. Проект по адресу: https://github.com/zxing/zxing.
Сетевые проекты
RxHttp — сетевая библиотека. Проект: https://github.com/liujingxing/RxHttp.
OkGo — простая и удобная сетевая библиотека, которая хорошо сочетается с RxJava. Проект: https://github.com/jeasonlzy/okhttp-OkGo. Статья: https://www.jianshu.com/p/6aa5cb272514.
Hardcoder — коммуникационная платформа от Tencent. Проект: https://github.com/Tencent/Hardcoder. Статья: https://segmentfault.com/a/1190000025180511.
Hermes — межпроцессная коммуникационная библиотека. Проекты: https://github.com/Xiaofei-it/Hermes-IPC-Demo, https://github.com/Xiaofei-it/Hermes, https://github.com/elemers/HermesEventBus.
Andromeda — основанный на JSON RPC способ межпроцессного взаимодействия для Android. Проект: https://github.com/iqiyi/Andromeda. Статья: https://www.jianshu.com/p/1eca5e32fad2?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io.
DroidDLNA — инструменты для DLNA. Проекты: https://github.com/offbye/DroidDLNA, https://github.com/4thline/cling.
MiniThunder — мини-версия Thunder для Android, поддерживающая различные протоколы загрузки. Проект: https://gitee.com/kumei/MiniThunder.
nanohttpd — облегчённый HTTP-сервер. Проект: https://github.com/NanoHttpd/nanohttpd.
TVRemoteIME — приложение для удалённого управления телевизорами. Проект: https://github.com/kingthy/TVRemoteIME. Статья: https://juejin.im/post/5a9e47636fb9a028c42db81d.
ConnectSDK — SDK для трансляции экрана. Сайт: connectsdk.com/. GitHub: github.com/connectsdk.
Инструменты
ZhugeIO — сервис для управления операциями. Сайт: zhugeio.com.
SensorsData Auto — сервис для анализа данных. Сайт: www.sensorsdata.cn/auto.
Bmob — облачная платформа для разработки. Сайт: bmob.cn.
Pgyer — сервис для распространения приложений. Сайт: pgyer.com.
Lanhu — платформа для совместной работы над продуктами. Сайт: lanhuapp.com.
PerfDog — платформа для анализа производительности. Сайт: perfdog.qq.com.
Gitee — код-хостинг. Сайт: gitee.com.
Coding — платформа для DevOps. Сайт: coding.net.
GitHub — код-хостинг. Сайт: github.com.
Shadow4Android — инструмент для создания теней. Сайт: inloop.github.io/shadow4android/.
Boomar — инструмент для построения диаграмм. Сайт: boomar.cn.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )