Обзор нововведений Android Design Support Library v28
И снова здравствуйте.
Приближаем к дате запуска наш новый курс «Разработчик Android», осталось всего ничего и осталось немного интересных материалов, которыми делимся со всеми, в том числе и потенциальными слушателями.
Недавно была анонсирована 28 версия Android Support Library. В текущей альфа-версии у нас появился доступ к набору новых интересных компонентов. В этой статье я хочу взглянуть на дополнения, которые были внесены в библиотеку Support Library в виде компонентов Material View.
MaterialButton — это виджет, который можно использовать для отображения кнопки в материальном стиле в пользовательском интерфейсе приложений. Этот класс наследуется от класса AppCompatButton, который вы, вероятно, уже используете в своих проектах, но в чем отличия? По умолчанию эта кнопка уже будет оформлена с материальным внешним видом без необходимости настраивать ее самостоятельно, используя флаг стиля. Мы можем использовать класс MaterialButton таким, какой он есть, ведь у него уже будет материальный внешний вид, который нам и нужен — рассматривайте его как более удобный класс.
Мы можем добавить эту кнопку в наш layout-файл следующим образом:
По умолчанию этот класс будет использовать акцентный цвет вашей темы для заполнения фона кнопок и белый цвет для текста на них. Если кнопка не заполняется, то тогда акцентный цвет будет использоваться для цвета текста на кнопке вместе с прозрачным фоном.
Если мы захотим добавить к кнопке некоторые дополнительные стили, мы можем сделать это, используя набор атрибутов стиля MaterialButton.
- app:icon — Используется для определения отображаемого изображения в начале кнопки
- app:iconTint — Используется для изменения цвета иконки, определенной в атрибуте app:icon
- app:iconTintMode — Определяет режим, который будет использоваться для изменения цвета иконки
- app:iconPadding — Отступ, который будет применяться к иконке, определенной в атрибуте app:icon
- app:additionalPaddingLeftForIcon — Определяет отступ, который будет применяться слева от иконки, определенной в атрибуте app:icon
- app:additionalPaddingRightForIcon — Определяет отступ, который будет применяться справа от иконки, определенной в атрибуте app:icon
- app:rippleColor — Цвет эффекта пульсации кнопки
- app:backgroundTint — Используется для применения оттенка к фону кнопки. Если вы хотите изменить цвет фона кнопки, используйте этот атрибут вместо background, чтобы не нарушать стиль кнопок
- app:backgroundTintMode — Используется для определения режима, который будет применятся для изменения оттенка фона
- app:strokeColor — Цвет обводки кнопки
- app:strokeWidth — Ширина обводки кнопки
- app:cornerRadius — Используется для определения радиуса сглаживания углов кнопки
Компонент Chip позволяет отображать чипы в нашем layout. По сути, чип — это некоторый текст на закругленном фоне. Его цель заключается в отображении пользователю некой формы текстового набора, который может или не может быть выбран. Например, чипы могут использоваться для отображения списка выбираемых предложений для пользователя на основе текущего контекста в вашем приложении.
Мы можем добавить Chip в наш layout, используя, например, атрибут app:chipText , чтобы установить текст, который будет отображаться на чипе:
Существует также набор других атрибутов, которые можно использовать для дальнейшей стилизации чипа:
- app:checkable — Используется для объявления, может ли чип быть помечен как выбран/не выбран. Если отключено, выбор чипа ведет себя так же, как и с кнопкой
- app:chipIcon — Используется для отображения иконки в чипе
- app:closeIcon — Используется для отображения иконки удаления в чипе
Мы также можем повесить слушателей на наши экземпляры чипов. Они могут быть полезны для отслеживания взаимодействий пользователей. Если наш чип можно выбрать, скорее всего, мы захотим узнать, когда это состояние было изменено. Мы можем сделать это с помощью слушателя setOnCheckedChangeListener :
То же самое применимо и если мы хотим слушать взаимодействия с иконкой удаления. Для этого мы можем использовать функцию setOnCloseIconClickListener для регистрации событий удаления:
Если мы показываем набор чипов нашим пользователям, мы хотим убедиться, что они правильно сгруппированы вместе в нашем представлении. Для этого мы можем использовать компонент представления ChipGroup:
Если мы хотим использовать ChipGroup, нам просто нужно обернуть наши ChipView в родительский компонент ChipGroup:
По умолчанию ваши ChipView могут казаться немного прижатыми друг к другу. Если это так, вы можете добавить интервал к дочерним представлениям, используя следующие атрибуты ChipGroup:
- app:chipSpacing — Добавляет расстояние как по горизонтали, так и по вертикали
- app:chipSpacingHorizontal — добавляет расстояние по горизонтали
- app:chipSpacingVertical — добавляет расстояние по вертикали
Мы также можем объявить наши дочерние Chip View отображаемыми на одной строке внутри контейнера ChipGroup, используя атрибут app:singleLine :
При этом вам нужно обернуть ChipGroup в прокручивающееся представление, например HorizontalScrollView , чтобы ваши пользователи могли прокручивать отображаемые чипы:
Material Card View
Вероятно, в наших приложениях мы уже использовали компонент CardView в какой-то момент. В библиотеке Support Library теперь есть компонент, называемый MaterialCardView , который предоставляет нам стилизованную под материальный дизайн реализацию из коробки.
CardView можно добавить к вашему layout вот так:
Вы можете дополнительно стилизовать CardView, используя два его атрибута:
- app:strokeColor — Цвет, который будет использоваться для обводки (должен быть установлен для отображения обводки)
- app:strokeWidth — Ширина обводки
Вместе с двумя этими атрибутами, вы также можете стилизовать CardView с использованием первоначально доступных атрибутов, таких как app:cardBackgroundColor и т. д.
BottomAppBar — это новый компонент, который позволяет нам отображать компонент, похожий на панель инструментов, в нижней части нашего layout. Это позволяет нам отображать компоненты для пользователя таким образом, чтобы взаимодействовать с ними было легче, чем, возможно, со стандартной панелью инструментов.
Вы можете добавить BottomAppBar в свой layout-файл так:
Похоже, что BottomAppBar должен иметь меню, назначенное ему, чтобы оно отображалось на экране. Это можно сделать программно следующим образом:
Когда дело доходит до стилизации BottomAppBar, есть несколько атрибутов, которые вы можете использовать.
- app:fabAttached — указывает, был ли FAB прикреплен к BottomAppBar. Вы можете подключить FAB с помощью app:layout_anchor в компоненте FAB, который вы хотите подключить, используя идентификатор BottomAppBar. Если FAB прикреплен, он будет вставлен в BottomAppBar, в противном случае FAB останется выше BottomAppBar.
- app:fabAlignmentMode — Объявляет позицию FAB, который был прикреплен к BottomAppBar. Это может быть либо конец:
либо центр:
- app:fabCradleVerticalOffset — Объявляет вертикальное смещение, которое будет использоваться для прикрепленного FAB. По умолчанию это 0dp
Установка значения dp позволит FAB перемещаться вверх по вертикали:
- app:backgroundTint — Используется для изменения оттенка фона представления. Если вы хотите установить цвет фона в представлении, тогда вам нужно использовать атрибут android:background . Это обеспечит сохранение стабильности представления.
На мой взгляд, это изящные дополнения к библиотеке Support Library. Я с нетерпением жду возможности использовать компоненты в материальном стиле прямо из коробки и я также рад найти случай, где может использоваться BottomAppBar. Я уверен, что требуется некоторое время, чтобы версия Support Library стала стабильной. Как обычно, я хотел бы услышать ваши мысли или комментарии об этих новых компонентах!
Ждём ваши комментарии и вопросы, которые можно оставить тут или можете зайти к Варваре на день открытых дверей.
Источник
Новый топовый процессор и лучшие приложения в Google Play: итоги недели
На этой неделе мы наконец-то дождались выхода нового процессора от Qualcomm, который станет главным флагманским чипсетом для Android-смартфонов следующего года. Надо дождаться еще его выхода в составе смартфона, но пока все выглядит довольно многообещающе. Так же на этой неделе мы узнали, какие приложения Google считает лучшими в Google Play. Компания составила полный рейтинг лидеров по ее мнению. А еще на этой неделе мы узнали о десяти новых функциях Android. Были и другие новости, которые тоже нельзя не вспомнить. Поэтому давайте подведем итог прошедшим семи дням в нашей традиционной новостной рубрике.
Новый процессор Qualcomm — один из главных новостных героев недели.
Лучшие приложения в Google Play
Как это обычно бывает, конец года — время подведения итогов. Google не отстает от общего тренда и каждый раз примерно в это время называет лучшие приложения и игры, которые были в уходящем году. Вот и сейчас Google объявила победителей конкурса Best of Play за 2021 год, выделив ключевые приложения и игры, которые, по мнению компании, внесли самый положительный вклад в мир мобильных устройств в уходящем году. Пусть до 31 декабря еще месяц, но тем интересней, что лучшими программными продуктами мы можем воспользоваться уже сейчас.
Такие рейтинги заставляют по-новому взглянуть на привычные приложения.
Впервые в этом году Google расширила список наград за пределы платформы смартфонов Android, включив в них приложения и игры для планшетов, Wear OS и даже Google TV. Награды присуждаются за инновации в разработке приложений и игр, и при выборе победителей Google ищет тех, кто бросают вызов нормам, ”вводя уникальные особенности игрового процесса и предоставляя пользователям невиданные ранее возможности”.
Pokémon Unite получила награду за лучшую игру года в 2021 году, обойдя победителей предыдущих лет, таких, как Genshin Impact (2020), Call of Duty: Mobile (2019) и PUBG Mobile (2018). Google назвала динамичный игровой процесс и кроссплатформенность Pokémon Unite ее ключевыми достоинствами, а также отметила независимых разработчиков, которые, по ее словам, ”создают творческий и личный игровой опыт”. В этом году второе место заняли инди-разработчики с продуктами Bird Alone и Donut County.
Эта игра неизменно занимает лидирующие позиции в рейтингах.
Для всех, кто работал над игрой, большая честь получить такую награду. Мы попытались выделить лучшие стороны жанра MOBA, чтобы создать новый вид игры — сказал Масааки Хосино, поблагодарив Google за признание.
Он также признал, что ”не уверен, что игра будет хорошо принята игроками по всему миру”. Создатель Pokémon Unite говорит, что он очень рад получить подтверждение того, что его команда находится на правильном пути, и планирует продолжать улучшать игру, делая ее еще более увлекательной.
Планшетов на Android не так много, как смартфонов, но номинация для них тоже есть.
В очередной раз Google также учредила награду ”Выбор пользователей”, чтобы дать тем, кто заходит в Google Play, возможность высказаться, проголосовав за то, что они сами считают лучшим. В этом году в голосовании победа досталась Garena Free Fire MAX. Предыдущие обладатели награды: SpongeBob: Krusty Cook-Off (2020), Call of Duty: Mobile (2019) и PUBG Mobile (2018). Хотя выбор пользователей в 2018 и 2019 годах совпал с выбором Google игры года, в 2020 и 2021 годах мнения разделились.
Что касается приложений, Google отметила, что приложения, ориентированные на личностный рост, по-прежнему пользуются высоким спросом в течение 2021 года, и наименование победителя отражает это замечание.
Персонализированное приложение для медитации Balance от Elevate Labs было признано лучшим игровым приложением 2021 года, за ним так же расположились другие персональные велнесс-приложения. Moonly предоставляет советы и рекомендации, основанные на лунном календаре, а Laughscape использует смех, чтобы помочь людям улучшить свою медитацию.
Символично, что именно сейчас приложений для медитации возгласило рейтинг.
Джесси Пикард, основатель и генеральный директор Elevate Labs, сказал, что его команда была рада получить награду Google, добавив: ”Мы создали Balance, думая о каждом отдельном человеке. Нет двух одинаковых людей, и мы хотели создать индивидуальную программу психологического благополучия, которая могла бы отражать и поддерживать эти особые различия”.
Редакционная группа Google Play также назвала победителей (21 приложение) в восьми категориях, включая ”Лучшие повседневные приложения”, ”Лучшее для развлечений”, ”Самое недооцененное” и ”Лучшие для личного роста”. Планшеты так же были отмечены в номиншиации ”Лучшие приложения для планшетов”.
Приводить полный список и рассказывать о каждом приложении можно долго, но лучше посмотреть из в разделе ”Лучшее за 2021 год” в Google Play. Там же их можно будет сразу скачать, чтобы проверить на себе, почему они заняли столь почетные места и были удостоены такой высокой в своей категории награды.
Новый процессор Snapdragon
Компания Qualcomm анонсировала скорый выход нового флагманского процессора, который заменит Snapdragon 888. Компания отказалась от старой системы наименования — теперь вместо трех цифр будет указываться поколение устройства. Таким образом новый чип назван Snapdragon 8 Gen 1, привыкайте! Новый процессор будет устанавливаться во флагманские смартфоны 2022 года. Кажется, у Apple A15 появился достойный конкурент, способный удивить — новое поколение Snapdragon получило улучшение энергоэффективности и новейшую архитектуру. Рассказываем всё, что нужно знать о новинке от Qualcomm.
Рассказываем, как изменился Snapdragon 8 Gen 1
Будущее уже наступило: Qualcomm Snapdragon 8 Gen 1 — новейший чип для флагманов 2022 года. Он построен на новейшей архитектуре Armv9. Основная фишка нового 8-ядерного процессора Kryo — это несколько высокопроизводительных ядер, главное из которых построено на базе Cortex-X2 с частотой 3,0 Ггц, три ядра на Cortex-A710 с частотой 2,5 Ггц и еще четыре энергоэффективных ядра на Cortex-A510 с частотой 1,8 Ггц.
Новинка изготовлена по 4-нанометровому техпроцессу. Кстати, если не знаете, в чем суть техпроцесса и почему он постоянно меняется, читайте об этом в нашем материале. В новом CPU производительность выросла на 20%, а энергоэффективность — сразу на 30% по сравнению с текущим флагманским Snapdragon 888. Графический процессор Adreno стал мощнее на 30%, а его энергоэффективность выросла на 25% по сравнению с тем же Snapdragon 888.
Улучшились все показатели, а также энергоэффективность чипа
Кроме того, появились новые средства управления GPU для более точной настройки работы игр на смартфонах — это Adreno Frame Motion Engine, позволяющая рендерить игру с увеличенным FPS без повышения энергозатрат. Вторая — это Elite Gaming, с помощью которой процессор находит баланс между производительностью и потреблением энергии.
В новом Snapgragon 8 Gen 1 появился совершенно новый модем Qualcomm Snapdragon X65, поддерживающий существующие диапазоны связи mmWave до 6 Ггц. Добавлена и поддержка скорости передачи данных до 10 Гбит/с. Устройство может похвастаться и поддержкой последних стандартов Wi-Fi 6 и Wi-Fi 6E, а также Bluetooth LE Audio, что является новинкой для Qualcomm. Кроме того, добавлена технология Snapdragon Sound для беспроводной передачи звука AptX Lossless.
Компания поработала не только над вычислительной мощностью процессора, но и уделила внимание улучшению возможностей камеры. Таким образом появился новый бренд Snapdragon Sight, который и будет отвечать за это. В новом чипе разрядность повышена с 14 бит до 18, что позволит получить в 4096 раз больше данных с камеры. Тройная ISP-система позволяет теперь снимать 240 фотографий с разрешением 12 Мп за секунду или одновременно 8K-видео с HDR и 64-мегапиксельные фотографии благодаря увеличению пропускной способности до 3,2 гигапикселя в секунду.
Улучшилась и работа с изображениями камеры. Невероятные показатели
В общем, одновременно чип сможет обрабатывать данные с трех камер по 36 Мп каждая, а также снимать HDR-видео с частотой 30 кадров в секунду, 4К видео с частотой 120 кадров секунду или HD-видео в 720p с частотой 960 (. ) кадров в секунду. Кроме того, интересно выглядит еще одна фича — например, объединение до 30 снимков в один качественный при съёмке в темноте. Для сравнения Snapdragon 888 может объединять лишь 6. Улучшены и сами алгоритмы, автоэкспозиция, автофокус, автоматическое определение лица и даже специальный механизм боке для добавления портретного режима в 4К-видео.
Поработали с безопасностью и заверили, что данные той же камеры никуда не денутся
Qualcomm добавила и новых инструментов для обслуживания постоянно включенной камеры (Always-On-Camera). Теперь разработчики смогут создавать интересные функции: например, автоматически отключать экран, когда пользователь кладет смартфон на стол, или при обнаружении того, кто пытается заглянуть в ваш экран, выглядывая из-за плеча. Все данные постоянно включенной камеры останутся на устройстве — именно об этом говорят разработчики. Кстати, постоянно включенную камеру можно будет деактивировать — прямо как микрофон.
На что способны смартфоны на самом деле? Читайте об этом в нашем Яндекс.Дзен
Компания прокачала и сигнальный движок Qualcomm Hexagon: теперь он стал в 4 раза производительнее прошлого поколения, а его энергоэффективность выросла в 1,7 раза. Этот модуль может использоваться для различных задач и сценариев, например, для функций камеры. Он воссоздает эффекты объективов Leica, определенные эффекты в играх и многое другое.
Устройства со Snapdragon 8 Gen 1 должны представить уже до конца 2022 года
Стоит отметить и тот факт, что разработчики уделили особое внимание безопасности. В Snapdragon 8 Gen 1 появился Trust Management Engine — блок, отвечающий за дополнительную безопасность в устройстве. Al Engine 7-го поколения сможет решать задачи, связанные с машинным обучением, в 4 раза быстрее, чем предшественник Snapdragon 888. Появится и стандарт Android Ready SE от Google, что позволит хранить цифровые ключи от автомобилей и даже документы.
Первые устройства с Qualcomm Snapdragon 8 Gen 1 представят уже в декабре и уже точно известно, что им станет линейка Xiaomi 12. Ожидается, что новый процессор будет использоваться в OPPO и Motorola — посмотрим, на что способна новинка Qualcomm. По традиции нам обещают золотые горы, но на деле все оказывается не так гладко.
А что думаете вы по поводу Snapdragon 8 Gen 1? Поделитесь своими ожиданиями в нашем Telegram-чате.
Новые функции Android
Несмотря на то что Google уже давно бросила выпускать промежуточные версии Android, ограничиваясь только основным системным обновлением раз в год, время от времени компания позволяет себе делать исключения. В таких случаях Google выпускает пакетные апдейты, которые затрагивают сразу несколько приложений и сервисов компании, а также, нередко, саму систему. В результате операционка обзаводится новыми функциями, несмотря на то что её порядковый номер не меняется даже после запятой. Так произошло и в этот раз.
Google подготовила большой пакет обновлений для Android
На этой неделе Google объявила о запуске очередной партии обновлений для Android. В отличие от инициативы Pixel Feature Drop, которая предполагает новые функции только для смартфонов Pixel, этот пакет предназначается практически для всех. Да, кое-какие ограничения по версии операционной системы всё-таки будут, но в целом апдейт затрагивает абсолютное большинство актуальных устройств на базе Android.
Новые виджеты YouTube Music, Google Play Books, Google Photos «Люди и питомцы». Особенно примечателен последний виджет. Google планирует показывать через него только фотографии людей, которых вы фотографировали, либо животных.
Смартфоны на Android 12 смогут работать в качестве ключей для автомобилей. Первое время совместимы с новой функцией будут только новые модели авто от BMW, однако в будущем обещают подключиться и другие производители.
Family Bell — это функция, которая позволит членам одной семьи отслеживать распорядок дня друг друга, формировать какие-то события, в которых должны поучаствовать все, а также отслеживать, получили они ваши уведомления или нет.
Воспоминания о праздниках в Google Фото. Специальные алгоритмы Google будут отбирать снимки с праздников и других радостных мероприятий, которые вы фотографировали, а потом предлагать вам их в виде подборки сторис.
Сгрузка неиспользуемых приложений. Начиная с Android 6.0, все смартфоны получат возможность сгружать приложения, которые не используются в течение определённого времени, чтобы освобождать встроенную память.
Новые комбинации для Emoji Kitchen. Благодаря им вы сможете по своему вкусу настраивать эмодзи, внося в них множество изменений так, как вам нравится.
Автозапуск Android Auto при подключении смартфона к бортовому компьютеру автомобиля.
Новое оформление и быстрый доступ к клавише поиска музыки.
Умные ответы для Android Auto, которые позволят быстро отвечать заготовленными фразами на сообщения ваших собеседников, не отвлекаясь от управления автомобилем.
Поскольку почти каждое из этих нововведений относится к какому-то приложению, то и выйдут они в составе обновлений для этих самых приложений. Несмотря на пакетный анонс, высоко вероятно, что выходить апдейты будут по очереди. То есть такого, чтобы все заявленные функции стали доступны всем разом, не будет. Более того, для разных регионов обновления скорее всего будут выходить постепенно. Google не любит выпускать их для массового пользователя, чтобы не пришлось отзывать в случае обнаружения каких-либо проблем.
Большинство нововведений доступно для всех, а не только для Android 12[
Очевидно, что 9 из 10 заявленных нововведений, выйдут для пользователей всех смартфонов под управлением Android версии 6.0 или выше. А вот функция открытия замков автомобиля при помощи смартфона будет доступна только на смартфонах, которые обновятся до Android 12, да и то не на всех. На данный момент известно о совместимости автомобилей BMW с аппаратами Samsung и Google Pixel. О поддержке устройств других производителей пока ничего не сообщается, но возможно их поддержку добавят несколько позднее.
Как бы там ни было, очень правильно, что Google меняет позиционирование обновлений, которые она выпускает для Android. Да, новых версий ОС не выходит, но, объявляя о таких пакетных апдейтах во всеуслышанье, она повышает их ценность в глазах пользователей. Ведь, когда мы скачиваем обновления приложений, мы почти не уделяем внимания тому, что нового там появилось, замечая разве что масштабный редизайн. А так Google не просто поддерживает Android молча как Робин Гуд, но и даёт нам понять, что о нас не забыли и продолжают снабжать нас новыми фишками.
Источник