Android с нуля: создание стилей и тем
Как разработчики Android, мы склонны в первую очередь фокусироваться на функциональности наших приложений. Однако одной функциональности достаточно редко хватает. В Google Play, где сегодня находится более миллиона приложений, внешний вид так же важен, как и функциональность, если не больше. Если вам трудно в этом поверить, я предлагаю вам быстро взглянуть на приложения в разделе «Топ чарты» в Google Play.
Существует два подхода к изменению внешнего вида приложений для Android. Первый подход включает прямое изменение свойств представлений в XML-файлах макета. Такой подход возможен только в том случае, если вы работаете над простым приложением, которое имеет небольшое количество видов и активностей. Второй подход предполагает создание и использование пользовательских стилей и тем. Если вы знакомы с веб-разработкой, первый подход сродни использованию встроенных стилей CSS, а второй подход сродни использованию таблиц стилей.
В этом уроке вы узнаете, как создавать пользовательские стили и темы для ваших приложений для Android. Вы также узнаете, как использовать инструменты и шорткаты Android Studio, которые облегчают создание стилей.
1. Создание стилей
Стили, очевидно, применяются к компонентам пользовательского интерфейса. Поэтому давайте начнем с создания новой пустой активности и добавления двух представлений в ее XML-файл макета.
Как видно из приведенного выше кода, свойства, такие как layout_width и layout_margin , явно включены в определение каждого представления.
Чтобы создать новый стиль для первого вида, щелкните его правой кнопкой мыши и выберите «Рефакторинг»> «Извлечь»> «Стиль».
Теперь вы увидите диалоговое окно, в котором вы можете указать имя стиля, а также выбрать атрибуты, которые должны быть в него включены. Пусть имя будет MyBox и выберите все атрибуты, кроме background .
Когда вы нажмете OK, вы увидите, что код для первого вида изменился.
В представлении теперь есть атрибут style , который указывает на стиль MyBox . Вы можете взглянуть на определение стиля, открыв res/values/styles.xml.
Как только стиль был создан, его можно применить к любому виду. Например, вот как вы применили MyBox ко второму представлению:
С применяемыми стилями, вот как выглядят два вида в активности:
2. Расширение стилей
Android позволяет создавать стили, которые используют другие стили в качестве основы. Другими словами, он позволяет расширять существующие стили.
Существуют два разных синтаксиса, которые вы можете использовать при расширении стиля. Первый синтаксис часто называют неявным синтаксисом и он использует точечную нотацию. Например, вот как вы создаете два производных стиля, называемых TEAL и CYAN, используя MyBox в качестве родительского стиля:
Как вы могли догадаться, у MyBox.TEAL и MyBox.CYAN есть все свойства MyBox . В дополнение к этим, у них есть свойство android: background.
Второй синтаксис для создания производного стиля обычно называют явным синтаксисом. Он включает использование атрибута parent , значение которого задано как имя родительского стиля. Вот фрагмент кода, который определяет стиль под названием TealBox.
Применение производных стилей ничем не отличается от применения обычных.
Большинство разработчиков используют неявный синтаксис при расширении своих собственных стилей и явный синтаксис при расширении стилей платформы.
3. Создание тем
Все это время мы применяли только стили к представлениям, которые находятся внутри активности. Android также позволяет применять стили для всех видов активностей и приложений. Когда стиль применяется к активности или приложению, он становится темой.
По умолчанию все приложения, созданные с использованием последней версии Android Studio, используют тему AppTheme . AppTheme является потомком известной темы AppCompat, большой и очень всеобъемлющей темы, которая может повлиять на внешний вид почти всех широко используемых представлений.
Вы можете найти определение AppTheme в styles.xml:
AppTheme использует Material Design. Поэтому для создания собственных тем, соответствующих спецификации Material Design, можно использовать AppTheme в качестве родителя. Кроме того, вы можете напрямую использовать Theme.AppCompat в качестве родителя.
Хотя вы всегда можете создавать темы, написав XML-код, помните, что это просто стили — в этом уроке я покажу вам, как использовать редактор тем для Android Studio, чтобы он сделал для вас всю тяжелую работу.
Чтобы открыть редактор тем, откройте меню «Сервис» и выберите Android> Редактор тем.
С правой стороны окна редактора тем вы можете не только управлять существующими темами, но и создавать новые. Левая сторона показывает вам предварительный просмотр результатов внесенных вами изменений в темы.
Чтобы создать новую тему, нажмите раскрывающееся меню Тема и выберите вариант Создать новую тему.
В появившемся диалоговом окне укажите имя новой темы — MyTheme и нажмите OK.
На этом этапе styles.xml будет иметь новую строку, которая выглядит так:
4. Применение тем
Прежде чем применить тему, которую мы создали, добавим несколько широко используемых представлений к активности. Это позволит вам сразу заметить эффекты примененной темы.
Следующий код создает обычную Button , Button без полей, цветную Button , Checkbox , RadioButton , Switch , Seekbar , TextView и EditText .
Со всеми новыми добавлениями макет будет выглядеть так:
Если вы прочитали спецификацию Material Design, я уверен, что вы можете сказать, что в настоящее время активность использует оттенки индиго для colorPrimary и colorPrimaryDark . Для colorAccent используется оттенок розового. Это цвета по умолчанию, указанные в Android Studio. Вы можете найти их шестнадцатеричные эквиваленты в res/values/colors.xml вашего проекта.
Чтобы применить MyTheme , тему, созданную нами на предыдущем шаге, к вашей активности, откройте файл манифеста вашего проекта и добавьте атрибут android:theme в определение активности. Задайте значение @style/MyTheme .
Аналогично, вы можете применить тему ко всему вашему приложению, установив значение атрибута android: theme в определении приложения в @style/MyTheme .
Если вы сейчас посмотрите на свою активность, то она будет выглядеть совсем по-другому.
Заключение
В этом уроке вы узнали, как создавать и применять пользовательские стили и темы Android. Не стесняйтесь использовать эти знания, чтобы придать новые и лучшие виды вашим приложениям. Однако старайтесь не слишком увлекаться — большинство пользователей Android сегодня так привыкли к Material Design, что отклонение от его рекомендаций может их раздражать.
Чтобы узнать больше о стилях и темах, я предлагаю вам ознакомиться с руководством по стилям и темам.
Источник
Темы на Android: как они работают и как их устанавливать
Кастомизация – это одна из забытых особенностей Android. Забытых – потому что сегодня, как мне кажется, изменением внешнего вида операционной системы занимаются только гики и пользователи iOS, которые дорвались до такой возможности с выходом iOS 14. Другое дело, что в представлении большинства кастомизация представляет собой нечто вроде перепрошивки или накатывания сторонней оболочки поверх предустановленной по умолчанию. Но это глубочайшее заблуждение.
Самый простой способ кастомизировать Android — сменить тему
Оболочки многих Android-смартфонов поддерживают темы, или, как их ещё называют, скины. Они позволяют изменить оформление интерфейса ОС, подогнав его под конкретные события в вашей жизни или просто освежив его безотносительно каких-либо факторов. Достаточно просто выбрать интересующую вас тему, скачать её себе на смартфон и провести несложные манипуляции по установке. Несмотря на то что мой Honor View 20 из коробки содержит специальный каталог с темами, я разберу два способа установки тем: удобный и, скажем так, полуудобный.
Как сменить тему на Android
Для начала разберёмся с тем, как действует удобная установка тем. На самом деле смартфонов, которые предлагают каталог тем из коробки, довольно много. Поэтому не думаю, что вам придётся скачивать их где-то на стороне.
- Запустите штатное приложение «Темы» на Android, установленное по умолчанию;
- Найдите в каталоге ту тему, которая вам нравится (не торопитесь, скорее всего, их очень много);
У Huawei есть свой каталог с темами для Android
- Откройте её и купите, если она платная, либо просто скачайте, если она распространяется бесплатно;
Темы могут изменять внешний вид не всех иконок приложений, которые у вас установлены
- Дождитесь окончания загрузки выбранной вами темы, а затем нажмите «Применить»;
- Чтобы вернуть всё назад, перейдите в «Темы» — «Я» — «Предустановленные темы» и выберите исходную.
Все темы, которые вы скачиваете из официального каталога, установленного на ваш смартфон, сохраняются в приложении «Темы» в разделе вашего профиля. То есть вы можете скачать разом несколько новых тем, а потом последовательно примерять их, когда появится время.
Не знаю, как у вас, но большинство тем от Huawei платные. В среднем они стоят по 8-30 рублей, но встречаются и более дорогие. Бывают такие, которые оцениваются в 70, 150 и даже 200 рублей. Если вы не уверены, что готовы платить за них такие деньги, вы можете попробовать тему бесплатно. Для этого достаточно нажать на кнопку «Попробовать бесплатно» и тема применится к вашему интерфейсу на 5 минут, по истечении которых она отключится, если вы её не оплатите.
Как установить новый лаунчер
Лаунчеры — это слишком сложный способ кастомизации. По крайней мере, в сравнении с темами
Если ваш смартфон по умолчанию не предусматривает специального каталога с темами, скачать его на стороне просто так не получится. Несмотря на то что в Google Play целая тьма приложений с темами, на самом деле это обман. Даже не представляю, почему Google их не поудаляет. Ведь вместо тем там рекламируются либо сторонние приложения, либо предлагается возможность сменить обои, но не сам интерфейс ОС. А вот чтобы изменить оформление Android, вам потребуется отдельный лаунчер, который уже можно скачать в Google Play без каких-либо проблем.
Как быстро перебросить файлы с Android на Mac или Windows. Мой любимый способ
По сути, лаунчер – это кастомная тема на максималках. Дело в том, что его установка изменяет не только оформление интерфейса, но и иногда добавляет некоторые новые функции. Например, после установки Poco Launcher у меня появилась кнопка быстрой очистки оперативной памяти, которой раньше не было.
Как изменить вид иконок на Android
Весь процесс выглядит примерно так:
- Скачайте Poco Launcher из Google Play;
- Скачайте приложение с иконками PocoPack;
Темы могут быть доступны в сторонних лайнерах для Android
- Установите Poco Launcher себе на смартфон;
- В настройках Poco Launcher выберите нужный пакет иконок.
Правда, учитывайте, что после установки лаунчера вам придётся раздать довольно много разрешений, открыв ему доступ к взаимодействию с интерфейсом, приложениями и системными инструментами.
Стоит ли оно того? На мой взгляд, абсолютно нет. Несмотря на то что я вообще довольно осторожен в вопросах кастомизации, прибегая к ней только в самых крайних ситуациях, работать с темами из штатного каталога мне понравилось. А вот запариваться с установкой лаунчеров и подготовкой их к нормальному использованию – нет. Поэтому, если ваш смартфон не предлагает каталог с темами, не парьтесь, вы не многое теряете. Но уж если предлагает, обязательно попробуйте: возможно, вам понравится.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Все пользуются стикерами. Они такие интересные, разнообразные и зачастую даже многословные. С их помощью можно не просто обозначить настроение сообщений, но и заменить ими отдельные слова и даже целые предложения, выразив своё отношение к сказанному собеседником. Другое дело, что не всегда понятно, что означает тот или иной стикер. Ведь если с эмодзи или смайликами всё понятно, то зачастую создатели стикеров вкладывают в них далеко не тот смысл, который распознаём мы. К счастью, ВКонтакте появились необходимые пояснения. Рассказываю, где их найти.
Есть такой жанр игр, как симуляторы жизни. Этот жанр еще называют Sims. Да это созвучно названию знаменитой игры, но вопросов тут быть не может, так как именно Sims является классическим представителем игр жанра ”симулятор жизни”. В этой подборке мы разберем несколько подобных игр. Не все они будут похожи на легендарных ”симсов”, но дотянуться до той высокой планки, тем более на смартфоне, довольно сложно. Но все равно мы подобрали несколько интересных представителей жанра, в которые можно с удовольствием поиграть. Есть даже очень знаменитые игры, которые перешли на смартфоны прямиком с компьютеров, а их названия стали не менее нарицательными именами. Давайте начинать.
У Google много крутых сервисов и приложений. Google Play, Gmail, Chrome, YouTube — их знают и используют ну практически все. Есть менее приметные службы вроде Google Сообщений или Google Календаря. Они особенно не отсвечивают, потому что являются скорее инструментами для пассивного использования. Но бывают и очень недооценённые сервисы, которыми нужно пользоваться активно, чтобы ощутить все их преимущества. Например, Google Объектив, которому даже характеристику однозначную дать сложно.
Многие на Андроид пользуются темами и темы довольно популярны. То что вам кажется, что это не нужно — это мнение угнетенных эплом людей, которым запрещено выражать индивидуальность. Хорошо хоть там некоторое убогое подобие минимальной кастомизации дали людям и многим нравится.
Являюсь владельцем LG G6, в котором предусмотрена функция тем с завода. Выбор не сказать, чтобы сильно обширный, но достойных бесплатных вариантов предостаточно. Так же прекрасно устанавливаются сторонние темы от того же пикселя и кастомные. Всё делается без каких-либо танцев с бубном нажатием одной кнопки. Не скажу, что меняю их каждый день, но для разнообразия периодически это делаю. И дурацкое желание купить новый телефон сразу же пропадает =)
Источник