Pull to refresh
0
0
Send message

Непрерывные переходы между общими элементами: из RecyclerView во ViewPager

Reading time9 min
Views14K

Использование переходов в Material Design дает приложению визуальную непрерывность. Пока пользователь ходит по приложению, элементы интерфейса в нем меняют состояние. Анимации переходов соответствующих элементов от одного экрана к другому подчеркивают идею о том, что интерфейсы осязаемы.


Целью этой статьи является предоставление гайдлайнов и реализации для определенных непрерывных переходов между фрагментами ОС Android. Мы продемострируем, как реализовать переход из картинки в RecyclerView в картинку внутри ViewPager и обратно, используя "общие элементы" (shared elements) чтобы определить, как и какие элементы участвуют в переходе. Мы также обработаем сложный случай перехода обратно в сетку после листания на странице к элементу, который в сетке изначально был за пределами экрана.


Вот результат, которого мы хотим добиться (анимированная версия под катом).



Если вы хотите пропустить объяснение и сразу приступить к изучению кода, вы найдете его здесь.


От переводчика. Далее будет довольно много кода и гифок (по прикидкам, мегабайт на 20).

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments0

Путеводитель по полиномам и сплайнам для программиста

Reading time5 min
Views24K


Итак, вы программист. Зачем вам вообще могут понадобится полиномы? Например затем, что это хорошая геометрическая глина, из которой можно слепить разные вещи.

Из нашей статьи, объясняющей сущность математического анализа на примере python’а, крови и динамита, видно, что вы можете анализировать и синтезировать произвольные функции в качестве многочленов. Однако вовсе не обязательно работать именно с функциями. Иногда вам может понадобиться смоделировать сплайн из нескольких точек или свойств, вроде тангенсов кривых. Например, вам надо слепить какую-нибудь анимацию, или приятный видео эффект, или провести кривую, проходящую через определенные точки, или создать поверхность плоскую в одном месте и изогнутую в другом.

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



Для его вычисления требуется всего 6 действий умножения и 3 сложения. Это важно, поскольку ваша модель будет постоянно подвергаться вычислениям. Но и здесь мы можем произвести оптимизацию. В этом нам поможет схема Горнера. С ее помощью тот же самый многочлен можно записать в виде
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments7

От регистрации до витрины: как выложить мобильное приложение в App Store и Google Play (часть 2)

Reading time9 min
Views72K


В первой части нашего туториала мы зарегистрировались в обоих магазинах — App Store и Google Play. Но чтобы ваше приложение стало доступным для скачивания, необходимо совершить ещё немало действий. Давайте их рассмотрим.
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments0

Топ-10 распространенных ошибок в английском произношении, которые вы можете совершать

Reading time5 min
Views51K
Носители английского поголовно утверждают, что понять человека, который говорит с акцентом, можно. Правда, иногда это трудно. Английский язык разительно отличается от русского и в фонетическом, и в интонационном плане. Носителя любого другого языка всегда слышно сразу: не так произносятся гласные, не так выстроена интонация, отсутствуют нужные или присутствуют ненужные звуки в словах. Оговоримся сразу: без акцента вы не говорите даже по-русски. Но изучая иностранный язык, вы можете научиться неплохо имитировать носителей и говорить с минимальным и не режущим слух акцентом. А пока давайте изучим самые частые ошибки русских студентов, изучающих английский язык.

Читать дальше →
Total votes 45: ↑38 and ↓7+31
Comments130

Какие необычные музыкальные инструменты используют в озвучке фильмов ужасов

Reading time4 min
Views17K
Ранее мы уже писали о музыкальных инструментах, которые необычно звучат и интересно выглядят, но не становятся популярными. Они, что называется, «известны в определенных кругах» — например, среди поклонников этнической музыки или в субкультуре.

Ещё с помощью инструментов с нестандартным звучанием решают необычные творческие задачи, экспериментируют и создают новое прочтение традиционных мелодий.

Одна из таких сфер, где необычные музыкальные инструменты используются довольно часто — озвучка фильмов ужасов. Разбираемся в особенностях этого жанра и инструментах, которые в нём используются (или могли бы использоваться).


Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments9

Какие привычки делают меня лучше как разработчика ПО?

Reading time8 min
Views18K
Привет, Хабр! Представляю вашему вниманию перевод статьи «What habits made me a better Software Engineer?» от Sonny Recio.

Наши привычки — это ежедневные шаблоны поведения в жизни. Они могут быть как плохими, так и хорошими. Привычки могут быть жизненно необходимыми, например, потребность в еде 3 раза в день. Есть и такие привычки, которые помогают быть здоровым — занятие в тренажерном зале 3-4 раза в неделю. Но есть также привычки, которые портят тело, такие как курение и ежедневное распитие алкогольных напитков.

Наконец, есть привычки, которые сделают вас успешнее в любой профессии, в которой вы работаете. С помощью привычек человек становится экспертом, гением и получает навыки в своей профессии. Это не происходит за одну ночь, но это возможно. Самые продуктивные и успешные люди скажут, что привычки — это то, что сделало их успешными. И я не могу с этим не согласиться.

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

Если вас заинтересовали мои слова, вот некоторые из привычек, которые я сформировал, чтобы стать успешным. Вы их можете также использовать:

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments27

Образовательные стриминговые каналы программистов

Reading time5 min
Views50K


Источник Twitch


Удивительно, но люди действительно хотят смотреть на то, как вы пишите код. В 2014 году появился даже специальный сайт Livecoding.tv (сейчас он называется LiveEdu), на котором каждый желающий разработчик может всему миру показать процесс работы в режиме реального времени.


Идея устраивать трансляции с новорожденным кодом появилась гораздо раньше – стримеры занимались этим на Twitch, YouTube и standalone-площадках. В подборке представлены активные (за редким исключением) стримеры-кодеры, а также методы поиска интересных лично для вас трансляций.

Total votes 45: ↑45 and ↓0+45
Comments17

Выбор HashFlare: пять перспективных криптовалют, на которые стоит обратить внимание в 2018 году

Reading time4 min
Views36K
Красивых и разных криптовалют много, но разобраться в них непросто. Мы отобрали пять малоизвестных альткоинов, которые на начало 2018 года выглядят наиболее многообещающе. Критерии отбора простые — многократный рост курса по отношению к доллару США и растущая многомиллиардная капитализация.


Читать дальше →
Total votes 45: ↑26 and ↓19+7
Comments46

Пара способов отправить уведомления на смартфон со своего сервера

Reading time9 min
Views90K
В этом туториале я рассмотрю пошагово, как отправлять со своего сервера уведомления на свой (или не свой) смартфон, какие средства для этого понадобятся. Эти способы универсальны и подойдут для любого языка программирования, т.к. напрямую используют API гугла, без использования библиотек. Отправить можно на смартфоны с Android, iOS и в браузеры с поддержкой Push API (на сегодня это Chrome, Firefox и их производные).

В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
Хочу отправлять свои уведомления!
Total votes 49: ↑43 and ↓6+37
Comments81

Как вращается камера в 3D играх или что такое матрица поворота

Reading time11 min
Views122K
В этой статье я кратко расскажу, как именно преобразуются координаты точек при повороте камеры в 3D играх, css-преобразованиях и вообще везде, где есть какие-то вращения камеры или предметов в пространстве. По совместительству это будет кратким введением в линейную алгебру: читатель узнает, что такое (на самом деле) вектор, скалярное произведение и, наконец, матрица поворота.
Читать дальше →
Total votes 113: ↑105 and ↓8+97
Comments44

learnopengl. Урок 1.7 — Трансформации

Reading time17 min
Views127K

Теперь мы знаем как создавать объекты, раскрашивать их и накладывать на них текстуры, но они все еще довольно скучны, поскольку являются статическими объектами. Мы можем попробовать заставить их двигаться изменяя координаты вершин для каждого кадра, но это довольно муторно и требует процессорных вычислений. Есть гораздо более удобный способ для совершения трансформаций над объектом — это применение матриц. Но это не значит, что мы сейчас будем разговаривать про кунг фу и искусственный цифровой мир.

Total votes 32: ↑32 and ↓0+32
Comments5

Кручу-верчу, запутать хочу: углы Эйлера и Gimbal lock

Reading time3 min
Views127K


Выставите любой палец левой руки вперед. Давайте, не стесняйтесь, никто не будет над вами смеяться. Это нужно для важного эксперимента. Выставили? Теперь представьте что вы — это ваш палец (ну и бред). Повернитесь под прямым углом направо, затем наверх, и наконец налево. Где вы оказались? Правильно, в том же месте, но уже на спине.

С некоторой натяжкой именно так работает вращение с помощью углов Эйлера. Немного непредсказуемо и неудобно, не правда ли? Углы Эйлера имеют несколько недостатков, но есть одно особенно нехорошее свойство из-за которого вы не захотите с ними связываться. Его имя — Gimbal lock.

В русском языке gimbal lock называют по-разному: шарнирный замок, блокировка осей, складывание рамок. К сожалению, по запросам в поисковике с такими ключевыми словами выдаётся много мусора, а статья в Википедии оставляет желать лучшего, поэтому я сам расскажу вам об этом феномене и предложу как с ним бороться.

Внимание! Заходя под кат вы подвергаетесь риску поломать голову.
Ха! Я ничего не боюсь! Где этот gimbal lock?
Total votes 67: ↑60 and ↓7+53
Comments37

Каверзные кватернионы

Reading time3 min
Views186K


Отгадайте загадку: в четырёх измерениях сидит и комплексными числами воротит?

Подсказка: это вектор со скаляром. И вещественная матрица. И придумал его Гамильтон.

Не помогло? Ну что вы, это же элементарно! Это кватернион! Кватернионы используют для записи вращений в робототехнике, игровых движках, ПО для моделирования и вообще везде, где не нужны проблемы с углами Эйлера или матрицами. Если вас испугала путаница выше с разными представлениями кватерниона, то можете быть спокойны. Кватернионы очень просты в использовании и их внутреннее строение может понадобиться только в очень редких случаях, где нужна тонкая оптимизация. В остальное время с помощью кватернионов можно крутить всё что угодно и как угодно, и оно будет плавно и красиво интерполироваться без шарнирных замков.
Что же такое кватернион?
Total votes 110: ↑102 and ↓8+94
Comments48

Как я слил 1000$ в продвижение игры и что из этого получилось

Reading time6 min
Views60K


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

Для многих знакома ситуация, делал-делал, а кроме друзей так и никто и не увидел игру, а ведь так старался! Под катом не будет расплывчатых формулировок или предположений по продвижению. Конкретно ссылки — конкретно результат. Поехали!
Читать дальше →
Total votes 82: ↑81 and ↓1+80
Comments79

Изготовление современного традиционного лука

Reading time9 min
Views66K
image

Попробуем описать такую сферу деятельности, как традиционное лукостроение. Рассмотрим необходимые знания, навыки, технологии и инструменты необходимые для создания луков на уровне «продвинутый любитель».
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments142

Невероятно эффектная цветомузыка на Arduino и светодиодах

Reading time4 min
Views164K
С наступающим! Приближается Новый год, а значит, пора срочно создавать настроение! Ну и как всегда в это время года рождаются десятки электронных схем различных цветомузыкальных установок.

Чего только самобытные мастера не придумают. От трехцветных моргалок до лазерных многолучевых установок с управлением по MIDI интерфейсу.



Как большой поклонник, так называемых адресных светодиодов, хочу показать вам очень простую и удивительную цветомузыку. Я вообще такой ни разу не видел. Пока не собрал за один вечер. Итак, визуализатор звука!
Total votes 51: ↑46 and ↓5+41
Comments116

Работа с устройствами USB в Android

Reading time5 min
Views78K
В недавней статье на Geektimes в комментариях возник вопрос о поддержке в ОС Android периферии, подключенной к шине USB. Действительно, большинство вендорского ПО, к примеру, для работы с принтерами и МФУ, поддерживает только подключение по сети. Однако это не означает, что в самой ОС Android нет такой возможности — это означает лишь то, что большинство устройств не имеют полноценного USB хоста, и далеко не все имеют поддержку OTG. По сети же могут работать абсолютно все без исключения.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments5

Как не банально сказать «спасибо» иностранному коллеге. Советует носитель

Reading time2 min
Views28K

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

Начнем с переписки


Чаще всего это формальный способ общения. А значит и формулировки предложений должны быть достаточно сдержанными и официальными.

I am pleased to hear from you
Это можно перевести как “Спасибо, что написали” или “Благодарю за обращение”.

We greatly appreciate your feedback
В русском фраза звучит как “Огромное спасибо за обратную связь”.
Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments53

Хочу красивую железку

Reading time5 min
Views24K
Иногда проекты, которые мы делаем просто для веселья, превращаются в нечто большее. А иногда нет. Хочу поделится историей одного такого фанового проекта, который пережил несколько трансформаций, пока не получилось что-то толковое. Часть первая, в которой толкового ничего не получилось. Но вы можете почерпнуть для себя несколько интересных решений.

Год назад мне прилетела вожжа под хвост и захотелось странного. Вожжа выглядела вот так:



Это patchblocks, проект с кикстартера. Несколько абсолютно одинаковых модулей, соединяющихся в модульный синтезатор. Каждый модуль выполняет разный функционал благодаря тому, что прошит своим софтом из простого редактора…

Да что об этом говорить? Просто посмотрите видео на кикстарте, оно того стоит

В этом проекте прекрасно всё. Мне особенно понравилась красота и низкий финансовый порог входа при производстве небольших партий. То есть отсутствие литья пластмасс. И при этом штука выглядит красиво: «самодельность» придаёт ей особый шарм. Это же просто платка, аккумулятор и два куска оргстекла! Вау!

Когда я это увидел, моя пирамида Маслоу затупилась о страничку браузера. Хочу придумать так же круто!
И всё завертелось...
Total votes 33: ↑30 and ↓3+27
Comments23

Храните свои сбережения…в бункере

Reading time8 min
Views12K
Не все хранилища данных одинаково надежны и прочны. Наводнения, ураганы, торнадо, военные атаки, ядерные взрывы — как в таких условиях сохранить важнейшие данные и инфраструктуры знают компании-провайдеры подземных серверных хранилищ, созданных с максимальным уровнем защиты от любых угроз.



Подземные объекты, окруженные скалой привлекают повышенным уровнем надежности, они достаточно прочны и могут выдержать ядерную атаку. Чаще всего такие дата-центры обладают всего одним входом. Под землей нужный температурный режим регулируется естественным образом, затраты на охлаждение минимальные, что позволяет предоставлять корпоративным клиентам предложения по выгодным ценам. Да и строительство таких серверных ферм зачастую обходится дешевле: перестраивается уже готовый объект, оснащается необходимой инфраструктурой для обеспечения функционирования, а не возводится с нуля.
Total votes 15: ↑15 and ↓0+15
Comments11

Information

Rating
Does not participate
Registered
Activity