Статьи

Начало работы Создание приложения для проектирования материалов

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

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

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

Главный экран Добавить элемент и Изменить элемент

Давайте начнем с создания действия для домашнего экрана: щелкните правой кнопкой мыши на имени пакета и выберите « Создать»> «Деятельность»> «Пустое действие» . Вы увидите следующий экран:

Настройте активность

Как видите, в этом шаблоне активности уже есть плавающая кнопка действия. Измените название действия на список покупок и выберите поле « Активность запуска», чтобы Android Studio знала, что это будет домашний экран. Нажмите Готово, чтобы сгенерировать действие. Android Studio старается неукоснительно следовать рекомендациям по дизайну материалов.

Если вы откроете Activity_main.xml, вы увидите код для кнопки плавающего действия. Измените значение исходного свойства на @drawable/ic_add_24dp потому что мы хотим, чтобы эта кнопка отображала символ плюса. Измените свойство оттенка, добавив @android:color/white чтобы изменить цвет символа плюс на белый.

Плавающая кнопка действия теперь готова. Давайте теперь перейдем к созданию действия для экранов добавления и редактирования элементов. Снова щелкните правой кнопкой мыши на имени пакета и выберите « Создать»> «Активность»> «Пустое действие» .

Я собираюсь назвать это ItemActivity и нажать Finish . Этот макет будет иметь два виджета для ввода текста, один под другим. Поэтому проще использовать линейную компоновку вместо относительной компоновки. Установите его ориентацию по вертикали.

Внутри макета создайте тег для макета ввода текста. Установите его ширину в match_parent и установите его высоту в wrap_content . Внутри тега добавьте текстовый тег редактирования и установите его ширину в match_parent и высоту в wrap_content . Назовите это input_item_name . Затем установите для атрибута подсказки Item name . Значение, указанное вами для подсказки, будет отображаться как анимированная плавающая метка.

Теперь мы должны повторить те же шаги для второго виджета ввода. Таким образом, вы можете просто скопировать и вставить весь этот код. Измените идентификатор на input_item_quantity и измените подсказку на Quantity .

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

Щелкните правой кнопкой мыши папку « Ресурсы » и выберите новый файл ресурсов Android . Измените Тип ресурса на Меню и назовите файл menu_item_activity . Добавьте пространство имен приложения в корневой элемент, просто набрав appNs и нажав Enter .

Затем создайте новый тег элемента для представления кнопки сохранения. Установите его идентификатор на save_action и установите заголовок на Save . А теперь добавьте атрибут app:showAsAction и установите его значение always . Этот атрибут важен, потому что, если вы забудете добавить его, кнопка «Сохранить» окажется в меню переполнения панели действий.

Теперь мы должны надуть файл меню внутри ItemActivity. Для этого откройте ItemActivity.java и переопределите его метод меню параметров onCreate.

Затем переопределите метод onOptionsItemSelected, чтобы мы получали уведомление, когда пользователь нажимает кнопку. Внутри него добавьте оператор if и используйте getItemId чтобы проверить, getItemId ли идентификатор выбранной опции с идентификатором кнопки сохранения, а именно R.id.save_action .

Давайте теперь напишем код для открытия ItemActivity, когда пользователь нажимает кнопку плавающего действия. Так что откройте MainActivity.java. К плавающей кнопке действия уже подключен слушатель события onClick . Он содержит код-заполнитель, который вы можете удалить. Теперь мы будем использовать Intent для запуска ItemActivity.

Инициализируйте Intent, используя MainActivity в качестве контекста и ItemActivity в качестве класса. Когда ItemActivity открывается таким образом, его TITLE должен быть Add item . Мы можем использовать дополнительные для этой цели. И, наконец, вызовите startActivity чтобы фактически запустить ItemActivity .

Откройте ItemActivity.java сейчас, потому что нам нужно использовать дополнительные, которые мы отправляем. Поэтому добавьте условие здесь, чтобы проверить, имеет ли возвращаемое значение метода getIntent дополнительный getIntent TITLE . Если условие истинно, используйте setTitle чтобы изменить заголовок. Обратите внимание, что вы должны использовать метод getStringExtra для получения значения extra.

Давайте теперь добавим этот значок «назад» в нашу деятельность.

добавить значок назад в нашу деятельность

Для этого откройте AndroidManifest.xml. Здесь, внутри тега ItemActivity , добавьте атрибут parentActivityName и установите для него значение MainActivity .

Теперь мы можем запустить наше приложение, чтобы увидеть, что мы только что создали.

Главный экран с плавающей кнопкой действия

Наш домашний экран теперь имеет плавающую кнопку действия. Если вы нажмете на нее, вы попадете в ItemActivity.

Добавить элемент экрана

И если вы попытаетесь что-то ввести во входные виджеты, вы сможете увидеть их плавающие метки.

Ввод текста во входные метки

Теперь вы знаете, как создавать пользовательские интерфейсы с плавающими кнопками действий и макетами ввода текста. Теперь, прежде чем мы закончим, позвольте мне дать вам быстрый совет. Если вам не нравятся цвета приложения по умолчанию (оттенки индиго и розовый), вы можете легко изменить их, просто перейдя в colors.xml и изменив шестнадцатеричные значения для цветов здесь.

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

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

В полном курсе « Создание приложения для конструирования материалов» я покажу вам, как создать практичное, полнофункциональное приложение для конструирования материалов, которое можно опубликовать в Google Play. Начиная с дизайна приложения, созданного инструктором Ади Пурдила в его курсе « Знакомство с дизайном материала» , вы узнаете, как работать с различными виджетами пользовательского интерфейса дизайна материала, доступными в библиотеке поддержки Android. Вы также узнаете, как выполнять операции чтения и записи в современной мобильной базе данных Realm.