Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

< resources> < style name=" AppTheme" parent=" Theme.AppCompat.Light.DarkActionBar" >    <! -- Customize your theme here. -->    < item name=" colorPrimary" > @color/colorPrimary< /item>    < item name=" colorPrimaryDark" > @color/colorPrimaryDark< /item>    < item name=" colorAccent" > @color/colorAccent< /item> < /style> < style name=" TextViewStyle" >    < item name=" android: layout_width" > match_parent< /item>    < item name=" android: layout_height" > 50dp< /item>    < item name=" android: gravity" > center< /item> < /style> < style name=" CustomTheme" parent=" Theme.AppCompat.Light" >    < item name=" android: textColor" > #333333< /item>    < item name=" android: textSize" > 22sp< /item> < /style> < /resources>

Итак, мы создали стиль " CustomTheme", который унаследован от стиля Theme.AppCompat.Light. В этом стиле мы переопределили два свойства: высоту шрифта (textSize) - 22sp, а также цвет текста (textColor) - он теперь светло-серый.

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

< application android: theme=" @style/CustomTheme"

Редактор тем

Для упрощения определения тем в Android Studio есть встроенный графический редактор тем. Для перехода к нему необходимо выбрать пункт меню Tools -> Android -> Theme Editor:

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



Меню

Создание меню

Меню в приложениях представляет класс android.view.Menu, и каждая activity ассоциируется с объектом этого типа. Объект android.view.Menu может включать различное количество элементов, а те в свою очередь могут хранить подэлементы.

Определение меню в xml

Меню, как и файлы интерфейса или изображений, также представляет собой ресурс. По умолчанию файлы меню находятся в проекте в каталоге res/menu.

При создании нового проекта с Empty Activity у нас нет никакого каталога res/menu и соответственно нет ресурсов меню, но мы можем их добавить вручную. Для этого нажмем правой кнопкой мыши в проекте на каталог res и далее в открывшемся списоке выберем пункт New -> Android Resource File:

Далее в появившемся окне укажем для имени файла название main_menu, а для типа ресурса также выберем Menu:

После этого в каталоге res будет создан подкаталог menu, в котором будет находиться файл main_menu.xml.

 

 

По умолчанию этот файл определяет один пустой элемент menu:

<? xml version=" 1.0" encoding=" utf-8"? > < menu xmlns: android=" http: //schemas.android.com/apk/res/android" > < /menu>

Изменим содержимое файла, определив несколько пунктов:

<? xml version=" 1.0" encoding=" utf-8"? > < menu xmlns: android=" http: //schemas.android.com/apk/res/android" > < item   android: id=" @+id/action_settings"    android: orderInCategory=" 1"    android: title=" Настройки" /> < item   android: id=" @+id/save_settings"    android: orderInCategory=" 3"    android: title=" Сохранить" /> < item   android: id=" @+id/open_settings"    android: orderInCategory=" 2"    android: title=" Открыть" /> < /menu>

Тег < menu> является корневым узлом файла и определяет меню, состоящее из одного или нескольких элементов < item> и < group>.

Элемент < item> представляет объект MenuItem, которой является одним из элементов меню. Этот элемент может содержать внутренний подэлемент < menu>, с помощью которого создается подменю.

Элемент < item> включает следующие атрибуты, которые определяют его внешний вид и поведение:

· android: id: уникальный id элемента меню, который позволяет его опознать при выборе пользователем и найти через поиск ресурса по id

· android: icon: ссылка на ресурс drawable, который задает изображение для элемента (android: icon=" @drawable/ic_help" )

· android: title: ссылка на ресурс строки, содержащий заголовок элемента. По умолчанию имеет значение " Settings"

· android: orderInCategory: порядок следования элемента в меню


Поделиться:



Последнее изменение этой страницы: 2019-05-04; Просмотров: 206; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь