- Темы и стили в Android без магии. И как их готовить с SwitchCompat
- Содержание
- Введение
- Новый стиль для SwitchCompat
- Стиль в верстке
- Стиль в теме. Тема назначается через Manifest
- Стиль в теме. Тема назначается программно
- Другие View
- Ресурсы
- Темы на Android: как они работают и как их устанавливать
- Как сменить тему на Android
- Как установить новый лаунчер
- Как изменить вид иконок на Android
- Как установить и поменять тему на андроид
- Как установить тему на андроид через Google Play
- Как поменять тему на смартфоне с помощью приложения AppsInstaller
Темы и стили в Android без магии. И как их готовить с SwitchCompat
В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем несколько способов стилизации стандартного ui элемента, а в частности SwitchCompat.
Содержание
Введение
Не всегда оформление по умолчанию стандартного UI элемента устраивает дизайнера. Давайте разберем, как поменять внешний вид элемента на примере SwitchCompat.
Для решения задачи нам нужно:
- Создать свой стиль для SwitchCompat.
- Каким-то образом задать этот стиль SwitchCompat.
Назначить стиль SwitchCompat можно несколькими способами, например:
- Указывать для каждой view в верстке экранов через атрибут style.
- Создать тему с переопределенным атрибутом switchStyle и назначить эту тему в манифесте для всего приложения или конкретной активити. Это изменит внешний вид view для всего приложения/активити.
- Тему также можно установить программно, в коде активити. При необходимости ее можно менять «на лету».
Новый стиль для SwitchCompat
В ресурсах создадим новый стиль MySwitchStyle, наследуем оформление от Widget.AppCompat.CompoundButton.Switch, задав parent. Можно и не наследовать, но тогда придется указать все значения, даже которые мы не планируем менять.
Чтобы что-то изменить, надо переопределить требуемые атрибуты. Атрибуты можно посмотреть в документации.
В документации видим несколько атрибутов. Они указаны в виде, как если бы мы обращались к ним в коде (например, вот так R.styleable.SwitchCompat_android_thumb). Я расшифрую только часть из них, чтобы не было сомнений. Назначение остальных несложно понять из документации.
В коде | В xml |
SwitchCompat_android_thumb | android:thumb |
SwitchCompat_thumbTint | thumbTint |
SwitchCompat_track | track |
SwitchCompat_trackTint | trackTint |
- android:thumb — ресурс для подвижной части SwitchCompat
- track — ресурс для неподвижной части SwitchCompat
- thumbTint — позволяет окрашивать подвижную часть в нужные цвета в зависимости от состояния SwitchCompat
- trackTint — позволяет окрашивать неподвижную часть в нужные цвета в зависимости от состояния SwitchCompat
В качестве примера изменим цвет thumb (кружочка) — пусть во включенном состоянии он будет оранжевым, в выключенном — зеленым. Некрасиво, но наглядно.
Нам понадобится селектор в папке color наших ресурсов. Файл selector_switch_thumb.xml
Теперь зададим атрибут thumbTint в нашем стиле.
Теперь все SwitchCompat, получившие каким-то образом стиль MySwitchStyle, будут выглядеть по-новому.
Стиль в верстке
Самый тривиальный и негибкий способ.
- Стиль применяется при inflate ресурса layout.
- Повлиять программно мы никак не можем.
- Указывать каждый раз в верстке неудобно. И можем забыть.
Стиль в теме. Тема назначается через Manifest
Создаем тему AppTheme и задаем значение атрибуту switchStyle. Значением является наш стиль MySwitchStyle.
Тема может быть указана в манифесте для всего приложения
Или для конкретной активити
Теперь все SwitchCompat будут иметь новый внешний вид. Без изменения в верстке.
- Плюсы — Можем менять внешний вид для всего приложения сразу.
- Минусы — налету менять не получится.
Стиль в теме. Тема назначается программно
Для того, чтобы установить тему для активити программно, нужно вызвать метод активити setTheme(themeResId).
Давайте менять тему активити в зависимости от состояния Switch.
- Устанавливаем тему программно, вызвав setTheme. Метод надо вызывать до super.onCreate(savedInstanceState). В onCreate у нас происходит инициализация фрагментов (когда они есть).
- Задаем начальное состояние Switch в зависимости от темы.
- Устанавливаем листенер, который при изменении Switch меняет тему в настройках и перезапускает активити через метод активити recreate().
Результат
Другие View
Чтобы переопределить стиль для SwitсhView для всего приложения, мы переопределили значение атрибута switchStyle, можно догадаться, что такие атрибуты есть и для других View.
- editTextStyle
- checkboxStyle
- radioButtonStyle
Как их искать? Я просто смотрю исходники, через Android Studio.
Заходим в тему, зажимаем ctrl, кликаем на родителе нашей темы. Смотрим, как описывают тему ребята из Google. Смотрим, какой атрибут определяется и от какого стиля можно отнаследоваться. Пользуемся.
Кусок из темы Base.V7.Theme.AppCompat.Light.
Ресурсы
Статья не претендует на полный справочник. Код умышленно сокращен. Я ставил задачу дать общее понимание — как это работает и зачем это нужно. Дальше все легко ищется в документации и в стандартных ресурсах.
Источник
Темы на 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 выберите нужный пакет иконок.
Правда, учитывайте, что после установки лаунчера вам придётся раздать довольно много разрешений, открыв ему доступ к взаимодействию с интерфейсом, приложениями и системными инструментами.
Стоит ли оно того? На мой взгляд, абсолютно нет. Несмотря на то что я вообще довольно осторожен в вопросах кастомизации, прибегая к ней только в самых крайних ситуациях, работать с темами из штатного каталога мне понравилось. А вот запариваться с установкой лаунчеров и подготовкой их к нормальному использованию – нет. Поэтому, если ваш смартфон не предлагает каталог с темами, не парьтесь, вы не многое теряете. Но уж если предлагает, обязательно попробуйте: возможно, вам понравится.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Android, в отличие от iOS, — система более открытая и свободная. Здесь нет тех ограничений, которые Apple устанавливает для владельцев iPhone. Поэтому среди пользователей Android считается нормой скачивать приложения не только из Google Play, но и из-за его пределов. Иногда это обусловлено нежеланием платить за софт деньги, а иногда – банальным отсутствием нужного приложения в официальном каталоге. Однако в Google считают, что при всех допущениях Android существует только один правильный способ загрузки софта.
Персонализация обоев смартфона — это эффективный способ сделать домашний экран уникальным и непохожим на домашние экраны других пользователей. Конечно, есть очень красивые штатные заставки, миллиарды красивых фото в интернете и тысячи фотографий в самом телефоне, но именно видеообои производят ни на что не похожий эффект. Живые обои, которые перемещаются как GIF при нажатии и удерживании, делают работу с Android или iPhone еще более интересной. И да, вы правильно прочитали, что установка таких обоев возможна на любом смартфоне. Что удивительно, на iOS сделать это даже проще. Но я расскажу о процессе создания их на обеих платформах.
Как вы просыпаетесь по утрам? Наверное, тяжело. А что вас будит? Ну, конечно, будильник, который вы ставите на телефоне. Во-первых, это удобно, потому что не нужно иметь дополнительный атрибут в виде аналогового будильника. Во-вторых, это комфортно, потому что на Android, в отличие от iPhone, будильники срабатывают более мягко, аккуратно выводя вас из состояния сна. Но бывает и такое, что будильник может попросту не сработать. Недавно я сам столкнулся с подобной проблемой. Рассказываю, что делать.
Многие на Андроид пользуются темами и темы довольно популярны. То что вам кажется, что это не нужно — это мнение угнетенных эплом людей, которым запрещено выражать индивидуальность. Хорошо хоть там некоторое убогое подобие минимальной кастомизации дали людям и многим нравится.
Являюсь владельцем LG G6, в котором предусмотрена функция тем с завода. Выбор не сказать, чтобы сильно обширный, но достойных бесплатных вариантов предостаточно. Так же прекрасно устанавливаются сторонние темы от того же пикселя и кастомные. Всё делается без каких-либо танцев с бубном нажатием одной кнопки. Не скажу, что меняю их каждый день, но для разнообразия периодически это делаю. И дурацкое желание купить новый телефон сразу же пропадает =)
Источник
Как установить и поменять тему на андроид
Не всех пользователей устраивают те стандартные темы, которые предложены разработчиками мобильной платформы Android. Сменить тему достаточно просто, но только если доподлинно известно, что делать. Есть три основных способа, по которым можно произвести смену темы на рабочем столе мобильного устройства.
Как установить тему на андроид через Google Play
Установить тему можно как напрямую, войдя в магазин через свое мобильное устройство, так и удаленно, с использованием аккаунта в Google через персональный компьютер. Оба варианта практически идентичны друг другу.
Необходимо зайти на страничку play.google.com. В норме она излагается на английском языке, но исправить это достаточно просто, выбрав свой язык в нижней части странички.
В открывшейся строке поиска нужно ввести слово theme (тема), в результате чего появится огромное множество различных вариантов. Выбрав один из них нужно нажать клавишу Install (Установить). Единственное что нужно для этого – наличие учетной записи в Google Play. К тому же, многие темы там платные.
Темы на устройства Android являются такими же приложениями, а значит, устанавливаются при помощи специальных программ.
Установив такую программу синхронизации на своем персональном компьютере (чаще всего поставляется вместе с устройством Android), можно установить новую тему на рабочий стол.
Для начала в таком приложении необходимо в окне «Настройка» открыть доступ к неизвестным источникам (соответствующая графа там присутствует). Телефон подключается к компьютеру при помощи USB-шнура.
Чаще всего необходимая программа называется «Установщик приложений». При ее запуске программа предложит указать местонахождение необходимого файла. Указав его и подтвердив свое действие, можно устанавливать.
Как поменять тему на смартфоне с помощью приложения AppsInstaller
Найти ее достаточно просто – она находится в открытом доступе, и позволяет устанавливать приложения к которым относятся и темы для рабочего стола, не подключая смартфон к персональному компьютеру.
Для начала нужно установить само приложение AppsInstaller. После этого нужно загрузить на смартфон файл, содержащий тему, его формат должен быть .apk или .apt.
Как только приложение будет запущено, оно обнаружит в памяти телефона все файлы с вышеуказанными расширениями. После этого останется лишь найти необходимую тему, и завершить ее установку на рабочий стол, сменив тем самым старую.
Источник