Pull to refresh

Внедряем материальный дизайн

Reading time 7 min
Views 52K
Surfingbird corporate blog Development for Android *
Настало время переходить на Lollipop, друзья. Как бы смешно это не звучало.

image

Буквально вчера мы в Surfingbird обновили дизайн приложения и сегодня, по свежим следам, хотелось бы поделиться впечатлениями от перехода на material design.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Comments 33

Делаем parallax header в RecyclerView

Reading time 5 min
Views 17K
ЕТранспорт corporate blog Development of mobile applications *Development for Android *
Приветствую!
С приходом material дизайна приходят и новые элементы. Например, появился RecyclerView, который многим уже известен. Про него на хабре писали не раз: тыц, туц.

Вроде как пользоваться им — понятно, но ведь хочется большего. Обычно при переходе на новые альтернативы чего-то не хватает. Вот и мне не хватило того, что есть. Понадобилось мне сделать parallax эффект, как в Google Play на странице конкретного приложения. Реализации для ListView и ScrollView имеются. Поискал я в великом и могучем, и все, что нашел — этот репозиторий. Решение вроде рабочее, да и народ пользуется. Однако мне не понравилось его юзабилити. И как водится, решил написать свое.
И что же вышло!?
Total votes 12: ↑11 and ↓1 +10
Comments 6

Встраиваем RecyclerView в CardView

Reading time 14 min
Views 18K
Development for Android *
Tutorial


Прочитав пост на хабре о новых виджетах «RecyclerView и CardView. Новые виджеты в Android L», решил попробовать использовать. В сети много примеров, где CardView встраивается в RecyclerView. Интересовало наоборот встроить RecyclerView в CardView. Чтобы еще эта конструкция была фрагментом.
Читать дальше →
Total votes 18: ↑15 and ↓3 +12
Comments 4

О RecyclerView и выделении элементов

Reading time 14 min
Views 100K
Development for Android *
Привет, %username%!
В этой статье я хочу рассказать немного о новом виджете в Android SDK — RecyclerView, о реализации выделения элементов и нескольких полезных «рецептах» при работе с ним.
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Comments 11

Рецепты под Android: Как вкусно приготовить LayoutManager

Reading time 16 min
Views 47K
True Engineering corporate blog Development of mobile applications *Development for Android *
Tutorial
Привет хабр!

Мы любим разрабатывать мобильные приложения, отличающиеся от своих собратьев как по функциям, так и по пользовательскому интерфейсу. В прошлый раз мы рассказали о клиент-серверном взаимодействии в одном из наших приложений, а в этот раз поделимся реализацией его UI фичи с помощью написанного с нуля LayoutManager. Думаем, что статья будет полезна не только начинающим андроид-разработчикам, но и более продвинутым специалистам.


Читать дальше →
Total votes 35: ↑34 and ↓1 +33
Comments 4

Android Data Binding in RecyclerView

Reading time 6 min
Views 50K
DataArt corporate blog Website development *Programming *Development of mobile applications *Development for Android *


На Google IO 2015 анонсировали новую библиотеку Data Binding Library. Основная ее задача — вынесения взаимодействия модели и View в xml-файлы. Она значительно упрощает написание кода и избавляет от необходимости использования методов findByViewId(), добавления ссылок на view-элементы внутри Activity/Fragment’ов. Также она позволяет использовать кастомные атрибуты, привязывая их к статическим методам. Поскольку статьей просто по Data Binding уже достаточно, но по его использованию в RecycleView всего ничего, восполним этот пробел.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 10

Рецепты под Андроид: Selectable соус для LayoutManager'a

Reading time 12 min
Views 8.5K
True Engineering corporate blog Development of mobile applications *Development for Android *
Tutorial
Пользователь не любит тратить время, пользователь не любит переписывать текст. Пользователь хочет копипастить. И хочет делать это даже в приложении на мобильном устройстве. И хочет, чтобы эта функция была удобной для работы пальцем на небольшом экране. Производители операционных систем по-разному реализуют эту функцию, стараясь угодить пользователям. Не отстают и разработчики приложений.



Нас тоже не обошла стороной эта тема, и в одном из приложений нам пришлось потрудиться, чтобы сделать как можно более удобную функцию выделения и копирования текста. Секретом этого рецепта мы и хотим поделиться с общественностью.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 1

Пагинация списков в Android с RxJava. Часть I

Reading time 13 min
Views 40K
Website development *Java *Development of mobile applications *Development for Android *
Часто при разработке клиента мы сталкиваемся с задачей отображения какой-либо информации с сервера, базы данных или еще чего-нибудь в виде списка. И при прокручивании списка данные должны автоматически подгружаться и вставляться в список незаметно для пользователя. У пользователя вообще должно сложиться впечатление, что он скроллит бесконечный список.

В данной статье я бы хотел рассказать вам о том, как сделать автоподгружаемый список простейшим в реализации для разработчика и максимально эффективным и быстрым для пользователя. А также о том, как нам в этом здорово поможет RxJava с ее главной догмой — «Everything is Stream!»
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 8

Очень удобный абстрактный адаптер для RecyclerView своими руками

Reading time 25 min
Views 24K
Development for Android *
Sandbox
Когда-то, на заре моей карьеры Android-разработчиком, я просматривал примеры уже имеющихся приложений и в прекрасном, словно солнышко весной, U2020 я нашел пример очень удобного адаптера. Имя его BindableAdapter. Долгое время я использовал его как основу своих адаптеров для ListView и GridView, но их эра приходит к своему закату и наступает эра RecyclerView. Этой эре нужен новый удобный адаптер, и я попытался его сделать.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 3

Пагинация списков в Android с RxJava. Часть II

Reading time 12 min
Views 24K
Website development *Java *Development of mobile applications *Development for Android *
Всем добрый день!
Приблизительно месяц назад я писал статью об организации пагинации списков (RecyclerView) с помощью RxJava. Что есть пагинация по-простому? Это автоматическая подгрузка данных к списку при его прокрутке.
Решение, которое я представил в той статье было вполне рабочее, устойчивое к ошибкам в ответах на запросы по подгрузке данных и устойчивое к переориентации экрана (корректное сохранение состояния).
Но благодаря комментариям хабровчан, их замечаниям и предложениям, я понял, что решение имеет ряд недостатков, которые вполне по силам устранить.
Огромное спасибо Матвею Малькову за подробные комментарии и отличные идеи. Без него рефакторинг прошлого решения не состоялся бы.
Всех заинтересовавшихся прошу под кат.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Comments 2

Нативная реклама возвращается: Native Admob, RecyclerView и вкратце о правилах

Reading time 6 min
Views 4.2K
Development for Android *
С 2015 года ситуация с Admob Native ads практически не изменилась, нативная реклама по прежнему находится в бета-релизе, с лимитированным доступом для издателей. В официальных доках появились новая редакция и некоторые разъяснения по поводу того, каким образом планируется эти самые Native ads внедрять. Мы, в свою очередь, также не сидели сложа руки, копили материал для очередной статьи, и, как только появилось свободное время, слегка расширили функционал библиотеки admobadapter . А именно, реализовали в ней поддержку прокручиваемой нативной рекламы для RecyclerView, так же как мы делали это в прошлой статье для ListView.
Читать дальше →
Total votes 2: ↑1 and ↓1 0
Comments 0

Android Data Binding for RecyclerView: flexible way

Reading time 7 min
Views 14K
Programming *Development of mobile applications *Development for Android *
Tutorial


Со времени первого анонса на Google IO 2015 новой библиотеки Data Binding Library прошло немало времени. Появилось много примеров, много гайдов и много исправлений и доделок в самой библиотеке. Вот уже и биндинг стал two-way, и ссылаться на другие View по их id можно в самом layout-файле да и армия поклонников этой библиотеки неуклонно растет. И, наверное, каждый новый адепт начинает с поиска примеров — как правильно использовать так чтобы и удобно, и меньше кода, и по-феншуй. Если сейчас вбить запрос на подобии «Android DataBinding + RecyclerView» то, наверняка, получим целую кучу ссылок на различные гайды. Даже на Хабре уже была подобная статья — Android Data Binding in RecyclerView.

Но не смотря на такое обилие ресурсов/гайдов, многие из них показывают базовый функционал, и каждый разработчик, начиная активно использовать Data Binding, придумывает свой, удобный ему способ работы. Далее будет показан один из таких способов.
Пример тут: DataBinding_For_RecyclerView
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 7

Легкая работа со списками — RendererRecyclerViewAdapter

Reading time 5 min
Views 14K
Development of mobile applications *Development for Android *
Sandbox
В последнее время мне часто приходилось переписывать много адаптеров для списков, и каждый раз я брался за голову — в адаптере находилась бизнес-логика, сетевые запросы и роутинг приложения и многое другое. Все это очень сложно поддавалось изменениям.

Поначалу я как обычно выносил все лишнее из адаптеров в презентеры, фрагменты и другие классы. В итоге я пришел к мнению, почему бы не:

  1. «обезопасить» свои адаптеры от внесения туда лишней логики;
  2. переиспользовать биндинги ячеек;
  3. добиться какой-то универсальности для работы с несколькими типами ячеек.

Если Вам знакомы такие проблемы, то добро пожаловать под кат.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 10

Легкая работа со списками — RendererRecyclerViewAdapter (часть 2)

Reading time 8 min
Views 12K
Development of mobile applications *Development for Android *
В прошлый раз мы оптимизировали работу с RecyclerView, а так же научились переиспользовать ячейки в разных списках и легко добавлять новые.

Сегодня мы разберем:

  • как можно упростить поддержку DiffUtil в этой реализации;
  • как добавить поддержку вложенных RecyclerView.

Если прошлая статья тебе пришлась по душе, думаю, понравится и эта.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 0

MBLTdev 2017: хардкорные доклады по Android-разработке

Reading time 3 min
Views 4.6K
e-legion corporate blog Java *Development of mobile applications *Development for Android *Kotlin *
image

Остался месяц до MBLTdev 2017. 27 октября в пространстве Digital October уже в 4-й раз пройдёт ежегодная конференция мобильных разработчиков.

Под катом: описания докладов Android-трека (про iOS рассказали вчера), CodeLabs, небольшой опрос и подарки от JetBrains и Skyeng.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Comments 1

MBLTdev 2017 близко: запрограммируйся на хардкор

Reading time 3 min
Views 2.4K
e-legion corporate blog Java *Development for iOS *Development of mobile applications *Development for Android *

Привет, Хабр! Мы на финишной прямой. Выкатили полную программу конференции мобильных разработчиков MBLTdev 2017. Чего ждать, кого слушать, чем заняться — всё под катом.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 2

Лекция Яндекса: Advanced UI, часть вторая

Reading time 26 min
Views 10K
Яндекс corporate blog Development of mobile applications *Interfaces *Development for Android *Computer Animation *
Это вторая часть лекции Дмитрия Свирихина — разработчика из команды мобильной Яндекс.Почты.

— Мы с вами продолжаем рассматривать типичные проблемы Android-разработчика и способы их решения. Мы уже рассмотрели, как решить проблему неконсистентности UI у нас в приложении, проблемы, которые могут возникнуть при взаимодействии с клавиатурой, и проблемы потери state, а также узнали, как мы можем эффективно применять кастомные view. Всю вторую часть мы посвятим ещё одной проблеме — она называется «недостаточная интерактивность». Посмотрим, как мы можем сделать наше приложение более интерактивным и понятным для пользователя.


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

Total votes 40: ↑37 and ↓3 +34
Comments 3

Максимально упрощаем работу с RecyclerView

Reading time 7 min
Views 16K
Development of mobile applications *Development for Android *
На хабре уже полно статей на эту тему, все они в основном предлагают решения для удобного реюзинга ячеек в RecyclerView. Сегодня мы пойдем немного дальше и приблизимся к простоте сравнимой с DataBinding.



Если вы еще не используете DataBinding для списков (хороший пример) и делаете это по старинке — то эта статья для вас.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Comments 5

Android Support Library 28. Что нового?

Reading time 10 min
Views 24K
Touch Instinct corporate blog Development of mobile applications *Development for Android *Mobile applications design *
Sandbox


По давней традиции вместе с новой версией Android выходит обновление Support Library. Пока библиотека вышла в стадии альфа, но список изменений уже намного интереснее, чем такой же список у Android P. Google несправедливо мало рассказал и написал об основных нововведениях главной библиотеки для Android. Приходится читать исходники и разбираться, в чем особенности новых фич и зачем они нужны. Восстановлю справедливость и расскажу, чем нас порадовал Google:

  • RecyclerView selection — выбор элементов теперь из коробки;
  • Slices — новый способ отображать контент другого приложения;
  • новые элементы дизайна: BottomAppBar, ChipGroup и другие;
  • мелкие изменения одной строкой.
Читать дальше →
Total votes 37: ↑37 and ↓0 +37
Comments 22

[Видео] Доклады с митапа Android Paranoid

Reading time 8 min
Views 8.5K
ЮMoney corporate blog Java *Interfaces *Development for Android *Kotlin *
Android почти исполнилось десять лет.

Мы решили отметить это праздничным чаепитием со всеми, кто пришел в питерский офис Яндекса на второй митап Android Paranoid. Сказано — сделано. К нашему сожалению, маршмеллоу, шоколадное печенье и желейные бобы закончились еще 28 марта.



Вместо них — доклады, записанные на видео, и короткая выжимка полезной информации для Android-разработчиков. Под катом о том,

  • что происходит после нажатия на иконку приложения;
  • как перевести приложение на Kotlin и уместиться в 300 строк кода;
  • как менялись инструменты фоновой работы в Android;
  • как быстро получить анимации в RecyclerView.
Total votes 21: ↑19 and ↓2 +17
Comments 0