Тем

Создание темы для андроид: Android с нуля: создание стилей и тем

06.07.1992

Содержание

Как легко создать собственную тему для мобильного телефона Android

Приложения

0 5.934 3 минут на чтение

Текущие мобильные устройства в основном имеют операционную систему Android, ее приобрела компания Google. Сегодня миллионы пользователей используют все разнообразие ее оборудования.

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

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

Android: шаги по созданию собственной темы

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

Первоначально вы должны télécharger хорошо выглядишь , он позволяет вам управлять модулями, так же как модули можно загружать через надстройку nicelook. После установки вы увидите список со всеми модулями, поэтому вам нужно нажать «Прямая загрузка» чтобы направить вас по прямой ссылке.

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

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

Затем вы можете войти в nicelook и посмотреть конфигурацию «тематический парк» , затем нажмите «Создать новую тему». Впоследствии созданные обои подбираются, и вы можете найти разнообразие конфигураций по гольпейперам.

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

Легко настройте свою тему

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

Если тема полностью настроена или настроена, вы можете щелкнуть значок «Скачать» в верхнем меню . При этом открывается окно установки темы, в котором вам нужно ввести «Имя», что вы хотите, так как это настраиваемая тема. В конце нажмите «принять».

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

Кроме того, вы можете выполнить процедуру с предпочтительной темой и настроить цвета и стили для настройки настраиваемой темы. Вы можете повторно войти в nicelook и выполнить поиск

«Навстар» чтобы настроить строку состояния, вы можете «активировать» первую опцию, чтобы увидеть значки и доступные опции.

Таким образом, вы можете выбрать одну из встроенных «навигационных панелей» и увидеть, что изменение сразу же применяется на панели Android-устройства, которая находится в нижней части экрана.

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

Наконец, мы надеемся, что эта статья вам помогла.

Однако нам хотелось бы узнать ваше мнение. Не могли бы вы создайте свою собственную тему для своего мобильного телефона Android ? Вы знаете другой способ выполнения этого действия? Оставляйте нам свои ответы в комментариях.

Вас также может заинтересовать, Как создать, изменить или настроить виджет Android до крайности

report this ad

Подобные предметы

Java и Android | Темы

Последнее обновление: 16.10.2021

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

Мы можем сами создать тему. Однако Android уже предоставляет несколько предустановленных тем для стилизации приложения, например, Theme.AppCompat.Light.DarkActionBar и ряд других.

По умолчанию приложение уже применяет темы. Так, откроем файл AndroidManifest. xml. В нем мы можем увидеть следующее определение элемента application, представляющего приложение:


<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.ViewApp">

Задание темы происходит с помощью атрибута android:theme. В данном случае используется ресурс, который называется в моем случае Theme.ViewApp. По умолчанию файлы тем определены в папке res/values. В частности, здесь можно найти условный каталог themes, в котором по умолчанию есть два элемента: themes.xml:

Один файл представляет светлую тему, а другой — темную. Например, откроем файл themes.xml со светлой темой:


<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.
ViewApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar"> <!-- Primary brand color. --> <item name="colorPrimary">@color/purple_500</item> <item name="colorPrimaryVariant">@color/purple_700</item> <item name="colorOnPrimary">@color/white</item> <!-- Secondary brand color. --> <item name="colorSecondary">@color/teal_200</item> <item name="colorSecondaryVariant">@color/teal_700</item> <item name="colorOnSecondary">@color/black</item> <!-- Status bar color. --> <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item> <!-- Customize your theme here. --> </style> </resources>

Здесь мы можем увидеть, что тема определяется как и стиль с помощью элемента style.. Атрибут parent указывает на родительскую тему, от которой текущая тема берет все стилевые характеристики. То есть тема «Theme.ViewApp» использует другую тему — «Theme.MaterialComponents.DayNight.DarkActionBar». И кроме того, определяет ряд своих собственных стилей.

Также можно заметить, что здесь определяются не только характеристики для атрибутов, но и семантические имена, например, colorPrimary, которому сопоставлен ресурс «@color/purple_500».

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

<item name="colorPrimary">#1565C0</item>

И соответственно изменится цвет по умолчанию для фона заголовка и кнопки:


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello Android"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        />

</androidx.
constraintlayout.widget.ConstraintLayout>

Создание собственной темы

Вместо использования встроенных тем мы можем создать свою. Для этого добавим в папку res/values новый файл mythemes.xml и определим в нем следующее содержимое:


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyTheme" parent="Theme.AppCompat.Light">
        <item name="android:textColor">#FF018786</item>
        <item name="android:textSize">28sp</item>
    </style>
</resources>

Итак, мы создали стиль «MyTheme», который унаследован от стиля Theme.AppCompat.Light. В этом стиле мы переопределили два свойства: высоту шрифта (textSize) — 28sp, а также цвет текста (textColor) — #FF018786.

Теперь определим этот стиль в качестве темы приложения в файле AndroidManifest.xml:


<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
		
        android:theme="@style/MyTheme"><!-- применение темы -->

Пусть у нас будет следующая разметка в activity_main. xml


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Android Lollipop"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/textView2"
        />
    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Android Marshmallow"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toTopOf="@+id/textView3"
        app:layout_constraintTop_toBottomOf="@+id/textView1"
        />
    <TextView
        android:id="@+id/textView3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Android Nougat"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView2"
        />

</androidx.
constraintlayout.widget.ConstraintLayout>

Как видно, для элементов TextView не устанавливается атрибут textSize и textColor, однако поскольку они определены в теме, которая применяется глобально к нашему приложению, то элементы TextView будут подхватывать эти стилевые характеристики:

Применение темы к activity

Выше темы применялись глобально ко всему приложению. Но также можно применить их к отдельному классу Activity. Для этого надо подкоррективать файл манифеста AndroidManifest. Например:


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.viewapp"
    android:versionCode="1"
    android:versionName="1.0">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"

        android:theme="@style/Theme. ViewApp">
        <activity android:name=".MainActivity" android:theme="@style/MyTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Атрибут android:theme элемента <activity> указывает на применяемую к MainActivity тему. То есть глобально к приложению применяется тема «Theme.ViewApp», а к MainActivity — «MyTheme».

Применение темы к иерархии виджетов

Также можно применить тему к иерархии виджетов, установив атрибут android:theme у элемента, к которому (включая его вложенные элементы) мы хотим применить тему. Например, примение темы к ConstraintLayout и ее элементам:


<?xml version="1.0" encoding="utf-8"?>
<androidx. constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
	
	android:theme="@style/MyTheme">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Android Lollipop"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        />

</androidx.constraintlayout.widget.ConstraintLayout>

НазадСодержаниеВперед

Создание тем приложения с помощью редактора тем

Предупреждение: Начиная с версии 3. 3, редактор тем больше не входит в состав Android Studio.

В Android Studio есть визуальный помощник под названием Theme Editor, который поможет вам:

  • Создание и изменение темы для вашего приложения.
  • Настройка тем для разных классификаторов ресурсов.
  • Визуализируйте влияние изменения цвета на общие элементы пользовательского интерфейса.

На этой странице представлены основные задачи, которые вы можете выполнять с помощью темы. Редактор и объясняет, как это сделать.

Основы редактора тем

В этом разделе описывается, как получить доступ к редактору тем и как он устроен.

Доступ к редактору тем

Существует два способа открыть редактор тем:

  • Из открытого XML-файла стилей, например styles.xml , нажмите Откройте редактор в правом верхнем углу окна файла.
  • В меню Инструменты выберите Редактор тем .

Навигация по редактору тем

Главный экран редактора тем разделен на две части. Левая сторона редактора показывает, как выглядят конкретные элементы пользовательского интерфейса, такие как панель приложения или приподнятая кнопка. когда вы применяете к ним текущую тему. В правой части редактора отображается имя текущей просматриваемой темы, модуль, в котором определена тема, и настройки для ресурсов темы, такие как Родительская тема и цветОсновной . Вы можете изменить темы дизайна, изменив эти ресурсы настройки.

Темы и цвета

Редактор тем позволяет создавать новые темы, изменять существующие и управлять цвета, из которых состоят темы.

Создание новых тем

Чтобы создать тему, выполните следующие действия:

  1. Откройте раскрывающееся меню Theme вверху справа. стороне редактора тем.
  2. Нажмите Создать новую тему .
  3. В диалоговом окне New Theme введите имя новой темы.
  4. В списке Имя родительской темы щелкните родительскую тему, из которой наследует начальные ресурсы.

Переименование тем

Чтобы переименовать тему, выполните следующие действия:

  1. Откройте раскрывающееся меню Theme вверху справа. стороне редактора тем.
  2. Нажмите Переименовать имя-темы .
  3. В диалоговом окне Переименовать введите новое имя темы.
  4. (необязательно) Чтобы увидеть, как будут выглядеть изменения, нажмите Preview .
  5. Чтобы применить изменения, нажмите Refactor .

Изменение цветовых ресурсов

Чтобы изменить существующий цветовой ресурс, например colorPrimary , Следуй этим шагам:

  1. В редакторе тем щелкните цветной квадрат рядом с названием ресурса, который вы хотите изменить. Появится диалоговое окно Resources , в котором слева отображается список групп цветов. сбоку, а настройки и информация для текущего выбранного цвета ресурса справа.
  2. Установите цвет для ресурса темы, либо выбрав цвет на левой панели, либо определение нового цвета, как описано ниже.
Выберите цвет

Цвета перечислены в левом столбце диалогового окна Ресурсы и расположены в следующие группы.

  • Проект: Это цвета внутри вашего проекта. Некоторые из них можно редактировать, потому что они являются частью исходников вашего проекта, а некоторые нельзя редактировать, потому что они являются частью библиотек вы включили в свой проект.
  • android: Это цветовые ресурсы, принадлежащие пространство имен андроида. Они являются частью платформы Android и не могут быть изменены.
  • Атрибуты темы: Это атрибуты выбранной темы. На них ссылаются по теме и может меняться в зависимости от того, какую тему вы выбрали. Атрибуты темы никогда не редактируется из диалогового окна Ресурсы .
Определение нового цвета

    Рисунок 1. Редактор цвета

  1. В раскрывающемся меню в правом верхнем углу диалогового окна Resources щелкните Добавить новый ресурс > Новое значение цвета . В диалоговом окне Ресурсы отображается редактируемый правая панель с пустым полем Имя , чтобы вы могли ввести имя для своего пользовательского цвета.
  2. Создайте пользовательский цвет следующим образом. Шаги соответствуют обозначениям на рисунке 1.
    1. Введите имя нового значения цвета в пустое поле Имя . Без пробелов и спец. допустимые символы в имени. Подчеркивания и цифры в порядке.
    2. Цветовая шкала, Пользовательское поле цвета и пипетка:
      • На цветовой шкале выберите нужный цвет. Цвет отображает в поле Пользовательский цвет .
      • Вы можете использовать пипетку слева от Пользовательский цвет поле для выбора цвета. Нажмите на капельница, и затем нажмите что-то видимое в любом месте на экране вашего компьютера. Цвет в Пользовательский цвет поле изменится на выбранный вами цвет.
    3. Прямо под полем Пользовательский цвет используйте редактируемые поля и раскрывающееся меню. слева указать RGB , HSB , или ARGB цвет по числовым значениям. Шестнадцатеричный эквивалент ваш цвет отображается в редактируемом поле справа.
    4. Чтобы задать непрозрачность и оттенок цвета, переместите ползунки ниже цветовой шкалы.
    5. Выберите один из доступных предопределенных цветовых квадратов. Цвет отображается в Пользовательский цвет и имя изменится на имя выбранного цвета.
  3. Нажмите OK , чтобы сохранить настройки. Диалоговое окно Resources закроется и вернет вас в редакторе темы.
Изменить цвет

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

  1. Отрегулируйте настройки.
  2. Нажмите OK .
Под цвет материала

Если вы определили или изменили пользовательский цвет проекта, вы можете убедитесь, что цвет соответствует ближайшему материал цвет палитры, нажав БЛИЖАЙШИЙ МАТЕРИАЛ ЦВЕТ , расположенный рядом с Пользовательский цвет . Android Studio изменяет значения цвета и непрозрачности цвета, который вы выбрали, на цвет материала, наиболее похожий на него, и заменяет Пользовательский цвет на название цвета из палитры материалов.

Примечание: Функция БЛИЖАЙШИЙ ЦВЕТ МАТЕРИАЛА видна только при цвет не является уже материальным цветом.

Просмотр списков состояний и цветов

Редактор тем позволяет предварительно просмотреть цвета, связанные с разными состояниями. Для этого откройте диалоговое окно Ресурсы , нажав щелкнув квадрат набора цветов рядом с именем редактируемого ресурса списка состояний. В диалоговом окне Ресурсы отображается список состояний, например Выбрано и значение цвета, связанное с состоянием. Щелкните цвет состояния, чтобы выбрать другое значение цвета.

Чтобы более полно управлять самими состояниями, вы можете напрямую просматривать и редактировать их свойства в файле XML, который их определяет. Для получения дополнительной информации см. документация для Класс ColorStateList .

Конфигурации для конкретных устройств

Когда цвет доступен для редактирования, вы можете выбрать конкретные конфигурации устройства для поддержки вашего приложения. Выполнять следующие шаги для этого:

  1. Откройте диалоговое окно Ресурсы . Для получения информации о том, как открыть Ресурсы диалоговое окно, см. Изменение цветовых ресурсов.
  2. Выберите цвет Project , а затем в нижней части правой панели щелкните, чтобы развернуть Конфигурация устройства , раскрывая исходный набор и имя файла XML, содержащего ресурс, а также список специфичных для конфигурации каталогов, в которых поместите этот файл.
  3. При необходимости измените имя файла XML.
  4. Установите флажки рядом с каталогами, соответствующими конкретные конфигурации устройства, которые вы хотите поддерживать. Любая конфигурация для которого вы не укажете каталог, по умолчанию используется значений каталог.

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

Стили и темы | Android-разработчики

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

Стиль представляет собой набор атрибутов, указать внешний вид для одного View . Стиль может определять атрибуты, такие как цвет шрифта, размер шрифта, цвет фона и многое другое.

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

Стили и темы объявлены в стиле файл ресурсов в res/values/ , обычно называемый styles.xml .

Рисунок 1. Две темы, примененные к одному и тому же действию: Theme.AppCompat (слева) и Theme.AppCompat.Light (справа)

Темы и стили

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

Стиль задает атрибуты для определенного типа представления. Например, один стиль может указывать атрибуты кнопки. Каждый атрибут, указанный вами в стиле, является атрибут, который вы можете установить в файл макета. Извлекая все атрибуты стиля, его легко использовать и поддерживать их в нескольких виджетах.

Тема определяет набор именованных ресурсов, которые могут быть на которые ссылаются стили, макеты, виджеты и т. д. Темы назначают смысловые имена вроде colorPrimary , к ресурсам Android.

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

Для получения дополнительной информации о том, как темы и стили работают вместе, см. Сообщение блога Стиль Android: темы и стили.

Создание и применение стиля

Чтобы создать новый стиль или тему, откройте файл res/values/styles.xml вашего проекта файл. Для каждого стиля, который вы хотите создать, выполните следующие действия:

  1. Добавьте элемент