Полезные примеры Android

Полезные примеры Android
Android — стили и темы

Стиль ресурсы определяют формат и внешний вид для интерфейса. Стиль можно применить к отдельному представлению (из файла макета) или ко всему Activity или приложению (из файла манифеста).

Определение стилей

Стиль определяется в ресурсе XML, который отличается от XML, определяющего макет. Этот XML-файл находится в каталоге res / values ​​/ вашего проекта и будет иметь <resources> в качестве корневого узла, что является обязательным для файла стиля. Имя XML-файла может быть произвольным, но оно должно иметь расширение .xml.

Вы можете определить несколько стилей для каждого файла с помощью тега <style>, но каждый стиль будет иметь свое имя, которое однозначно идентифицирует стиль. Атрибуты стиля Android устанавливаются с помощью тега <item>, как показано ниже —

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomFontStyle">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:capitalize">characters</item>
<item name="android:typeface">monospace</item>
<item name="android:textSize">12pt</item>
<item name="android:textColor">#00FF00</item>/> 
</style>
</resources>

Значение для <item> может быть строкой ключевого слова, шестнадцатеричным цветом, ссылкой на другой тип ресурса или другим значением в зависимости от свойства стиля.

Использование стилей

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

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/text_id"
style="@style/CustomFontStyle"
android:text="@string/hello_world" />
</LinearLayout>

Чтобы понять концепцию стиля Android, вы можете проверить пример демонстрации стиля .

Наследование стиля

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

Чтобы реализовать настраиваемую тему, создайте или отредактируйте MyAndroidApp / res / values ​​/ themes.xml и добавьте следующее:

<resources>
...
<style name="MyCustomTheme" parent="android:style/Theme">
<item name="android:textColorPrimary">#ffff0000</item>
</style>
...
</resources>

В вашем AndroidManifest.xml примените тему к действиям, которые вы хотите стилизовать —

<activity
android:name="com.myapp.MyActivity"
...
android:theme="@style/MyCustomTheme"
/>

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

Тема

Применение цветов к атрибутам темы

Затем ваш цветовой ресурс можно применить к некоторым атрибутам темы, таким как фон окна и основной цвет текста, путем добавления элементов <item> в вашу настраиваемую тему. Эти атрибуты определены в вашем файле styles.xml. Например, чтобы применить настраиваемый цвет к фону окна, добавьте следующие два элемента <item> в свою настраиваемую тему, определенную в файле MyAndroidApp / res / values ​​/ styles.xml —

<resources>
...
<style name="MyCustomTheme" ...>
<item name="android:windowBackground">@color/my_custom_color</item>
<item name="android:colorBackgroundCacheHint">@color/my_custom_color</item>
</style>
...
</resources>

Тема

Использование пользовательского девяти патча с кнопками

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

Девять патч-кнопок

Образец кнопки с девятью патчами

Шаги по созданию кнопок с девятью патчами

  • Сохраните это растровое изображение как /res/drawable/my_nine_patch.9.png
  • Определите новый стиль
  • Примените новый стиль кнопки к атрибуту buttonStyle вашей настраиваемой темы

Определите новый стиль

<resources>
...
<style name="MyCustomButton" parent="android:Widget.Button">
<item name="android:background">@drawable/my_nine_patch</item>
</style>
...
</resources>

Применить тему

<resources>
...
<style name="MyCustomTheme" parent=...>
...
<item name="android:buttonStyle">@style/MyCustomButton</item>
</style>
...
</resources>

Тема

Темы для Android

Надеюсь, вы поняли концепцию стиля, теперь давайте попробуем понять, что такое тема . Тема — это не что иное, как стиль Android, применяемый ко всему действию или приложению, а не к отдельному представлению.

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

Чтобы установить тему для всех действий вашего приложения, откройте файл AndroidManifest.xml и отредактируйте тег <application>, включив в него атрибут android: theme с именем стиля. Например —

<application android:theme="@style/CustomFontStyle">

Но если вы хотите, чтобы тема применялась только к одному Activity в вашем приложении, добавьте атрибут android: theme только в тег <activity>. Например —

<activity android:theme="@style/CustomFontStyle">

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

<style name="CustomTheme" parent="android:Theme.Light">
...
</style>

Чтобы понять концепцию, связанную с темой Android, вы можете проверить демонстрационный пример темы .

Стилизация цветовой палитры

Дизайн макета может быть реализован на основе их цветов, например, поскольку следующий дизайн разработан на основе их цвета (синий)

Тема

Вышеупомянутый макет разработан на основе файла style.xml, который размещен в res / values ​​/

<resource>
<style name="AppTheme" parent="android:Theme.Material">	
<item name ="android:color/primary">@color/primary</item>
<item name ="android:color/primaryDark">@color/primary_dark</item>
<item name ="android:colorAccent/primary">@color/accent</item>
</style>
<resource>	

Стили и темы по умолчанию

Платформа Android предоставляет большую коллекцию стилей и тем, которые вы можете использовать в своих приложениях. Вы можете найти справочник всех доступных стилей в классе R.style . Чтобы использовать перечисленные здесь стили, замените все подчеркивания в названии стиля точкой. Например, вы можете применить тему Theme_NoTitleBar с помощью «@android: style / Theme.NoTitleBar». Вы можете увидеть следующий исходный код для стилей и тем Android —

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare