Material Design - Пора обновляться (Часть 2)

Привет, жители Пикабу!


Продолжаем рассказ о программировании, а именно о обновлении дизайна в мобильных программках.


В прошлый раз мы обновляли приложение на стадии загрузки (новая иконка, новый экран приветствия, новая библиотека со слайдером). Теперь пришла пора прокачивать экраны приложений.


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


Для начала скриншот того, что было:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Представленное приложение - неофициальный клиент одноименного сайта (раз своего нет), ну и фиг с ним.


Рисуем новый экран загрузки. Так как Material Design позиционируется как скорее плоский стиль, взамен старых объемов (привет, iOS), мы максимально упростим все что есть.


Берем новый логотип из общеизвестных поисковиков, максимально обрезаем его:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Теперь нам надо залить этим же цветом всю оставшуюся часть экрана, а также статус бар (эффект заметен начиная от версии android 5.x.x и круче) Для взятия пробы цвета подойдет любой графический редактор. На выходе имеем следующее:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Далее мы будем переделывать главный экран. Но перед этим лирическое отступление.


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


На самом первом скриншоте видно, что экран представляет собой список в одной категории. Если поменять категорию, соответственно меняется список.


Сносим все это дело (попутно сохранив нужные кусочки кода), пересоздаем активность (теперь в ней еще будет Navigation Drawer), и рисуем новый экран. Использовать будем CardView, и разместим почти всю навигацию внутри этих карточек.

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Для красоты интерфейса нам нужно подобрать соответствующие картинки. К примеру, в разделе Каталог неплохо было бы поместить изображение корзинки, в разделе Распродажи подойдет символ процента, и так далее.


Лезем на ресурс из прошлого занятия поста: http://www.freepik.com


Мы подобрали картинки по следующим запросам - Support, Sale, Cart

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

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


Слой будет содержать следующие элементы:


- RelativeLayout (корневой слой)

-- ScrollView (vertical, для скроллинга вверх/вниз)

--- LinearLayout (vertical для отображения всех элементов друг после друга)

---- android.support.v7.widget.CardView (наша карточка)

-----RelativeLayout (корневой слой внутри катрочки)

------ImageView (картинка)

------TextView (текст)

-----/RelativeLayout (закрываем корневой слой в карточке)

/ (закрываем все остальные элементы)


Получилось следующее:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Итак, один элемент готов. Это своеобразное напоминание. В дальнейшем этот элемент будет доработан, и для него будет написан код.


Рисуем остальные карточки. Повторяем процедуру описанную выше, играемся с позиционированием элементов, отступами, и так далее. На выходе имеем:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

А на реальном устройстве выглядит следующим образом:

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

В боковое меню (Navigation Drawer) мы тоже добавим свои иконки, я беру их из общего источника Гугл Инкорпорейтед: https://design.google.com/icons/


На момент написания поста иконки были не у всех элементов, но принцип один и тот же:

- Скачиваем иконку (архив с готовыми разрешениями)

- Добавляем необходимые размеры в наше приложение (для меню подходит 24dp, для интерфейса лучше взять 48dp

- Задаем эти иконки в коде (или в слое, кому как удобнее)

- Радуемся жизни =)

Material Design - Пора обновляться (Часть 2) Android, Программирование, Длиннопост

Спасибо, что дочитали до конца! В следующий раз мы будем работать над самим каталогом, посмотрим на элемент Coordinator, и глянем, какие крутые штуки он умеет.


P.S. мои дорогие подписчики! Если я начал выкладывать котиков, значит школота интеллигенция портала жестом однокнопочного рукоблуда руки поставила минусы, и я восполняю баланс в мире =)

2
DELETED
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Смотря какие таблетки "принимает" разработчик. Вообще я для себя нашел MD очень гуманным. И в каждом приложении, какое сейчас приходится обновлять, повторюсь в каждом, не создается ощущение что включен детский режим, или что они абсолютные клоны. Правильная дозировка, вот что требуется =)

1
Автор поста оценил этот комментарий

А мне кажется, минусят за этот материал десигн. Неуж-то нельзя что-то необычного, своего, уникального разработать? Почему все срисовывают у Гугля?

раскрыть ветку (1)
2
Автор поста оценил этот комментарий
Потому что гугль вывел концепцию дизайна, где пользователю будет все интуитивно понятно, вне зависимости от приложения.
показать ответы
Автор поста оценил этот комментарий

Неужели мне одному этот материал дезигн кажется дико не эстетичным?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Вспомните, как плевались на плоский дизайн (iOS 7) в АйЯблоко. Тоже самое касается Windows (но там действительно все убого, на мой взгляд)


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

1
Автор поста оценил этот комментарий
Только стоит поправить слово: "Неоффициальным" на - "Неофициальным"
раскрыть ветку (1)
Автор поста оценил этот комментарий

Орфографию уже поправил, но за внимательность + =)

Автор поста оценил этот комментарий

а есть утилита для сбора из модулей?с ссылками на соц.сети и простым выходом на интернет магазин.бесплатная если возможно,хотел для своей фирмы постараться.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Простите, о таком не слышал. Для сбора данных (с сайта, xml, или базы данных) в андроидеможно парсить значения и делать с ними магию.

Автор поста оценил этот комментарий

Я и не говорил, что тут нет заинтересованных людей. Но любителей котиков, пони и аниме тут в разы больше

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Тогда передадим им пламенный привет =)

Иллюстрация к комментарию
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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

показать ответы
2
Автор поста оценил этот комментарий
Корзина очень напоминает лого дота 2.
раскрыть ветку (1)
Автор поста оценил этот комментарий

И в правду, если запихать орка, получится прикольно. Сенкс за наводку =)

1
Автор поста оценил этот комментарий

Ну и пусть гугль сам свою концепцию блюдёт. Я считаю, что в каждом приложении должна быть какая-то своя изюминка, что-то уникальное, а тут получается - все пляшут под лудку гугля, и в этой "музыке" всё однообразное, плоское, уродливое и мрачное. А вон та круглая кнопка справа внизу вообще вводит в бешенство - никто ей не пользуется и она никому не нужна, но зато она там стоит и собой закрывает полезную часть экрана, а иногда и мешает - надо что-то под ней нажать (например в конце списка), а она стоит в неудобном месте. Гореть тому в аду, кто это придумал. И мне там вообще нибуя ничего непонятно, в такой концепции. Особенно бесит, когда было приложение с своим интерфейсом, а потом разработчики, танцуя под дудку гугля, испоганили его в Материал Десигн.

раскрыть ветку (1)
Автор поста оценил этот комментарий

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


Выйдет новая концепция - обновим еще раз. Для разработчика главное что? Соответствовать этому "тренду", "музыке". Если не соответствовать - досвидос.


В заключении: Айфон - iOS 7 / OSX (плоский дизайн), Андроид - MD (плоский дизайн), Windows Phone / Windows 8/10  - (плоские плитки). Все это уже среди вас.

показать ответы