Sergey Mitrofanov
Denys
разрабатываю систему унификации стилей, для общения с дизайнером, хочу критики:
Ресурсы цветов берутся из системы прототипов к примеру: Figma.
Цвет в формате #HEX помещается в блок "canonical colors". За основу берутся названия цветов
с сайта https://www.htmlcsscolor.com, с помощью которых составляются типовые палитры (палитры
ссылаются на canonical).
Палитры делятся по категориям в соответствии с шаблоном:
<THEME_TYPE_ACCENT_[WHAT]_[WHERE]>, где
THEME - отвечает за префикс темы которой соответствует палитра,
TYPE - какой параметр подлежит окраске: может принимать значения:
* background - для покраски заднего фона (подложки) view элементов
* text - окраска текста
* stroke - разделители, обводка и тп.
* icon - картинки и иконки
* badge - мелкие детали интерфейса без вложеных элементов, как правило - уведомления
ACCENT - различные типы акцентов и контрастов, при добавлении должны поддерживаться для всех WHAT.
может принимать значения (но не ограничивается):
* base - основной цвет
* light - высветлённый base
* dark - затемнённый base
* accent - цвет максимально контрастный base
[WHAT] - необязательный параметр, указывает на компонент интерфейса, который подлежит окраске,
позволяет более удобно управлять цветами отдельных компонентов при необходимости
[WHERE] - необязательный параметр, указывает на область применения цвета (экран, фрагмент,
модуль и тд.)
Пример:
полное написание стиля для светлой темы экрана приветствия:
light_background_base_container_intro = @color/white
сокращенное написание стиля
light_background_dark = @color/black
все круто, но оттенков высветления и затемнения может быть гораздо больше чем 4,
в атомарном дизайне есть подход, где базовый цвет имеет суффикс 0 или (000),
высветленный примерно на 90-95% (до чистого белого) будет иметь суффикс например 100, а затемненный примерно на 90-95% (до чистого черного) будет иметь суффикс -100,
таким образом позволяя иметь довольно много градаций цвета
Mike
Vitaly
Нормальная ли практика отоборажжать настройки с помощью RecyclerView? В таком случае в каком виде хранить заголовки, описание настроек и вид каждого из элемента?
Или лучше использовать ScrollView и вручную вкладывать туда 10+ настроек?
Кирилл
Vitaly
Последнее мне кажется устаревшим и не расширяемым, ScrollView тоже не особо расширяемый, придейтся ручками прописывать и сильно увличивать код в kayout файле, а в RecyclerView не знаю как красиво и где хранить данные о настройках
Кирилл
Hovhannes
Hovhannes
Джун делает как может
Мидл как правильнее
Постигнувший дзен - как проще
Vitaly
Я ещё далек до постигания дзена, но прислушаюсь к Оганнесу
Спасибо)
Yerlan
Тоже видел пару раз как такой список был организован в recycler, но так и не понял зачем такая сложность и такое количество кода 🤨
Кирилл
Hovhannes
он хочет сейвить сейвить стейты фрагментов
Hovhannes
прост добавляй фрагмент когда надо. если нужно вернуться в фрагмент не в инишл стейте, сейвь стейт в кеш и бери оттуда
Hovhannes
все просто)
Кирилл
Понял, спасибо
Hovhannes
у меня например есть фрагмент, на котором 2 полосы табов.
я при переключении табов сейвю айди выбранного юзером таба, и когда он вследующий раз открывает экран, то беру из кеша айди табов и тапаю за юзера
Hovhannes
шареды)
Hovhannes
у меня и реалм есть, но он для более серьезных вещйе
Hovhannes
типа - айтемов ресайкла
Hovhannes
чтоб в офлайн музон слушать
Кирилл
А при добавлении в бэкстег сохраняется например скролл позиция в фрагменте?
Hovhannes
тип того
Hovhannes
как только чувствуешь что чет может убиться - сейвь
Hovhannes
например он пауз
Hovhannes
или прост ставишь лиснер скрола ресайкла и сейвишь позицию первого полностью видимого айтема
Hovhannes
зочем
Hovhannes
фрагмент андроидова херь. а не парселабл класс
Anonymous
Привет Кирилл
Hovhannes
так андроид ос сделает че надо
Hovhannes
делай ретейй инстанс
Anonymous
Hovhannes
и живи себе спокойно
Hovhannes
или возьмем например экран настроек
там у тебя всякая дичь и я сейвю любые новые стейты айтемов в онпауз
Hovhannes
в онрезюм беру из кеша и показываю
Hovhannes
ну это похоже на ситуацию с вьюпейджер. где он хранит минимум 2 фрагмента
Hovhannes
можешь брать пример оттуда
Hovhannes
или вместо того, чтобы хранить фрагменты полностью - держи в кеше данные для отображения. простым полем в репе
Hovhannes
чтобы при каждом тапе на боттом айтемы не брать например из сети данные
Hovhannes
ну и можно поставить время жизни кеша, чтобы не отображать очень старые данные
Max
Hovhannes
Чо за новая хрень?
Max
Origin?
Магазин игрушек от EA
Hovhannes
Hovhannes
Ты же не школьник чтобы выбирать между андроид студио и геймингом
Max
Токсичное комьюнити😅
Hovhannes
Нет. Прост юмор для малолеток
Hovhannes
Взрослый человек играет тогда когда ему хочется.
Anonymous
Как сделать Майнкрафт на телефоны?
Anonymous
С хорошей графикой и чтоб нелагал
Hovhannes
Anonymous
Он уже есть
А да? Ну тогда 2.0 версия для облегченных телефонов
Hovhannes
Nick Senchurin
господа,на 2 день мобиуса есть стрим?
Anonymous
Anonymous
Сделать чтоб нелагал на питоне
Anonymous
И апк
Hovhannes
@Harmonizr вроде спамят
Hovhannes
Andrey
Hovhannes
ᅠ ᅠ
Ку всем
Кто может помочь с маской подсети ?
Нужно 10.0.6.64/26 разбить на 8 подсетей с маской /29 каждая
Как это сделать?
Co(n)stantine👨🔬
ᅠ ᅠ
Sersh
Добрий день господа. Вопрос следующий - я беру данные с бд и подсчитываю по категориям день, месяц, год и отображаю это в tapleyout. Проблема такая - приложения виснет при перелистывание. Пробовал использовать AnsysTask - не помогло
Nick
Sersh
Ваня
Sersh
Ваня
Вот только если у тебя лагает, это значит, что у тебя действие не во втором потоке выполняется
Ваня
А значит асинктаск неправильный
Sersh
А значит асинктаск неправильный
Да у меня до AnsysTask тормозило. AnsysTask просто ничего не дали. В первом варианте он просто не обновляет Данте сто делаются во второй потоке
Ваня
Для начала покажи код
Sersh
Sersh
мой ansysTask