Translate

суббота, 10 декабря 2016 г.

Красим статус бар на ANDROID и IOS

Доброго времени суток!

    Долгое время искал решение как можно покрасить статус бар (шторку) на Android устройствах выше 5 версии.
Про IOS мы не будем говорить, потому что, это сделано в FMX из коробки (в демо проекте будет дополнение чтобы в run-time применять покраску)

    Примерно год назад я создал модуль, который реализовывал эту фичу, но он был не полноценен, на некоторых устройствах покраска происходила только после смены ориентации экрана, что неправильно. Проблемы с покраской были у устройств на базе процессоров Intel и arm64-v8a. В том модуле я использовал изменение флагов JWindow в run-time, а именно добавлял FLAG_TRANSLUCENT_STATUS

Но видимо изменение флагов в run-time некорректно обрабатывается…
Решение пришло на днях, попробовать подменить стиль для MainActivity и добавить нужные флаги в XML разметку.

суббота, 3 декабря 2016 г.

#3 ModernListView - динамическая подгрузка контента

Доброго времени суток!

Сегодня хотел бы рассмотреть динамическую подгрузку контента.
Мы не так давно в нашем ламповом чатике обсуждали два варианта подгрузки данных:
  • Бесконечный скроллинг (например как лента в ВК)
  • Паджинация/Пагинация (постраничная загрузка)
В современных приложениях почти всегда используется бесконечный скроллинг, это удобно по нескольким причинам:
  1. Пользователю не нужно дотягиваться до кнопок переключения страниц или использовать жесты влево/вправо
  2. Разработчику не нужно искать место для размещения контролов переключения страниц или реализовывать доп. функционал по управлению паджинацией с помощью жестов
Было свободное время и я реализовал два этих варианта с применением ModernListView, т.к. в нём есть специальные методы и события для простой реализации.

Опишу немного как всё это работает:
На сервер отправляется запрос с указанием страницы, PHP скрипт сформирует массив из имён статичных файлов (картинок) и упакует это в JSON формат. Наш клиент принимает JSON и отображает информацию в списке. При прокрутке контента происходит динамическая подгрузка картинок с сервера.