Темы андроид как это работает

Темы и стили в 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.

  1. Устанавливаем тему программно, вызвав setTheme. Метод надо вызывать до super.onCreate(savedInstanceState). В onCreate у нас происходит инициализация фрагментов (когда они есть).
  2. Задаем начальное состояние Switch в зависимости от темы.
  3. Устанавливаем листенер, который при изменении Switch меняет тему в настройках и перезапускает активити через метод активити recreate().
Читайте также:  Как отключить затухание экрана при звонке андроид

Результат

Другие View

Чтобы переопределить стиль для SwitсhView для всего приложения, мы переопределили значение атрибута switchStyle, можно догадаться, что такие атрибуты есть и для других View.

  • editTextStyle
  • checkboxStyle
  • radioButtonStyle

Как их искать? Я просто смотрю исходники, через Android Studio.
Заходим в тему, зажимаем ctrl, кликаем на родителе нашей темы. Смотрим, как описывают тему ребята из Google. Смотрим, какой атрибут определяется и от какого стиля можно отнаследоваться. Пользуемся.

Кусок из темы Base.V7.Theme.AppCompat.Light.

Ресурсы

Статья не претендует на полный справочник. Код умышленно сокращен. Я ставил задачу дать общее понимание — как это работает и зачем это нужно. Дальше все легко ищется в документации и в стандартных ресурсах.

Источник

Установка тем на устройства Android

Способ 1: Системные средства

В некоторых вариантах прошивок на базе Android присутствуют встроенные инструменты для управления внешним видом оболочки, в том числе и темами.

Xiaomi

Одним из преимуществ оболочки MIUI, которая установлена на устройствах китайской корпорации, является простая методика добавления и активации тем.

    Для использования встроенных средств изменения воспользуйтесь приложением «Темы».

Нажмите «Скачать бесплатно» для инсталляции стиля оформления.

Войдите в свой Ми Аккаунт, если не сделали этого ранее.

  • Оформление интерфейса будет немедленно изменено.
  • Samsung

    В фирменной оболочке OneUI от корейского производителя присутствует встроенный инструмент для смены внешнего вида лаунчера ‒ им мы и воспользуемся для решения нашей задачи.

    1. Откройте «Настройки» и перейдите к пункту «Обои и темы».

    После загрузки окна GalaxyThemes перейдите на вкладку «Темы», где просмотрите доступные варианты, выберите понравившийся и тапните по нему.

    Прочитайте описание, затем нажмите «Загрузить».

    По окончании скачивания примените оформление нажатием на соответствующую кнопку и подтвердите операцию.

    Huawei

    Смартфоны компании Хуавей не отстают от конкурентов и тоже реализовали в своих оболочках возможности изменения темы без сторонних средств.

      Как и в случае с Сяоми или Самсунгом, в ЕМУИ используется собственный магазин, который можно открыть из меню приложений или рабочего стола.

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

    Тапните «Бесплатная загрузка» (или «Купить» в случае с платной).

    Когда набор будет скачан, станет доступной кнопка «Применить» ‒ нажмите на неё для завершения процедуры.

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

    Способ 2: Универсальные инструменты

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

      На одном из рабочих столов приложения найдите ярлык «Темы» и тапните по нему.

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

    Для загрузки нового стиля оформления воспользуйтесь разделом «Online» и тапните по одному из понравившихся вариантов.

    Для активации скачанного элемента перейдите на вкладку «Загрузить», затем нажмите на соответствующую ей позицию.

    Здесь можно узнать краткие сведения о пакете (например, просмотреть скриншоты-превью), а также убрать элементы оформления, которые вам не нужны (обои и иконки). Для включения пакета нажмите «Применить».

  • Далее тапните «Домой» и проверьте, как применилась тема. К сожалению, это не всегда происходит корректно, поскольку оформление может быть плохо совместимо конкретно с Апекс Лаунчером.
  • Читайте также:  Cookie editor yandex browser android

    Подобная операция в других сторонних оболочках с поддержкой этой опции почти не отличается от Apex.

    Помимо этой статьи, на сайте еще 12470 инструкций.
    Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Источник

    Темы на 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 у меня появилась кнопка быстрой очистки оперативной памяти, которой раньше не было.

    Читайте также:  Parallels client для android

    Как изменить вид иконок на Android

    Весь процесс выглядит примерно так:

    • Скачайте Poco Launcher из Google Play;
    • Скачайте приложение с иконками PocoPack;

    Темы могут быть доступны в сторонних лайнерах для Android

    • Установите Poco Launcher себе на смартфон;
    • В настройках Poco Launcher выберите нужный пакет иконок.

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

    Стоит ли оно того? На мой взгляд, абсолютно нет. Несмотря на то что я вообще довольно осторожен в вопросах кастомизации, прибегая к ней только в самых крайних ситуациях, работать с темами из штатного каталога мне понравилось. А вот запариваться с установкой лаунчеров и подготовкой их к нормальному использованию – нет. Поэтому, если ваш смартфон не предлагает каталог с темами, не парьтесь, вы не многое теряете. Но уж если предлагает, обязательно попробуйте: возможно, вам понравится.

    Новости, статьи и анонсы публикаций

    Свободное общение и обсуждение материалов

    Мне часто приходится переходить с одной платформы на другую. Я пользуюсь iOS и Android не только по работе, но и для себя, легко меняя iPhone на Android. Во многом благодаря тому, что я часто совершаю такие переходы, я могу оценить плюсы и минусы обоих миров и назвать конкретные пункты, которые лучше в одной или другой операционной системе. Сейчас я хотел бы рассказать о нескольких вещах, в которые я влюбился в Android после очередного возвращения. Многие согласятся со мной, но хотелось бы сказать о них именно взвешенно, а не просто слепо критиковать или хвалить.

    Большинство смарт-часов, предназначенных для Android, как ни странно, не имеют NFC. Поэтому ни о какой бесконтактной оплате в их случае речи даже не идёт. Нет, конечно, есть модели с модулем ближнего поля, но их, во-первых, мало, а, во-вторых, стоят они зачастую довольно дорого. Так что не нужно удивляться тому, что многие пользователи предпочитают экономию бесконтактной оплате, хотя, безусловно, в тайне мечтают обзавестись когда-нибудь гаджетом, у которого такая функция всё-таки будет. Но Xiaomi придумала, как решить их проблему, без необходимости покупать новые часы.

    Лайки, дизлайки, репосты — это буквально святая троица, которую мы встречаем в каждом онлайновом сервисе, будь это социальная сеть или что-то другое. С их помощью мы выражаем отношение к контенту, который размещается на площадке, или к автору, который его создал. Но, если лайки и репосты большинство контентмейкеров, в общем говоря, радуют, то вот отметки «не нравятся» многих угнетают довольно сильно. Поэтому, чтобы не разочаровывать людей, которые наполняют площадки контентом, разработчики разных платформ начали постепенно отказываться от дизлайков. В том числе и YouTube.

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

    Являюсь владельцем LG G6, в котором предусмотрена функция тем с завода. Выбор не сказать, чтобы сильно обширный, но достойных бесплатных вариантов предостаточно. Так же прекрасно устанавливаются сторонние темы от того же пикселя и кастомные. Всё делается без каких-либо танцев с бубном нажатием одной кнопки. Не скажу, что меняю их каждый день, но для разнообразия периодически это делаю. И дурацкое желание купить новый телефон сразу же пропадает =)

    Источник

    Оцените статью