Платформа предоставляет широкие возможности по способу рисования объектов интерфейса.
Рисование с помощью xml весьма гибкое и удобное средство и, по сути, простые интерфейсы программ можно мастерить с его помощью.
Рассмотрим это на примере кнопки.
Стандартный вид:
Одним из способов задать новый вид кнопке это установить параметр android:background в ее свойствах.
В качестве значения для этого параметра будем использовать xml файл, назовем button.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:angle="270" android:endColor="#002F8E" android:startColor="#5F8DD3" />
<corners android:radius="20dp" />
<padding android:bottom="12dp" android:top="12dp" />
</shape>
Здесь задали градиент с углом 270 градусов, начальные и конечные цвета а также скругленные углы радиусов 20.
Полный список всех параметров и свойств можно посмотреть тут.
Его необходимо создать и положить в /res/drawable в проекте.
Ставим значение android:background = “@drawable/button”
В итоге посмотрим на видоизмененную кнопку:
Но теперь кнопка никак не изменяется, если на нее нажать. Исправить это можно легко опять же прибегнув к xml.
Создадим другой файл selector_button.xml кладем его туда же.
Элемент selector используется для определения состояний элементов, при нажатии, при выделении и т. д.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"><shape>
<gradient android:angle="270" android:endColor="#FFB285" android:startColor="#FF660F" />
<corners android:radius="5dp" />
<padding android:bottom="12dp" android:top="12dp" />
</shape></item>
<item><shape>
<gradient android:angle="270" android:endColor="#002F8E" android:startColor="#5F8DD3" />
<corners android:radius="5dp" />
<padding android:bottom="12dp" android:top="12dp" />
</shape></item>
</selector>
Тут указали нажатое состояние с атрибутом android:state_pressed="true" и определили новые градиентные цвета.
Определим новое значение для android:background=@drawable/selector_button”
Запускаем эмулятор и после нажатия на кнопку она будет изменять свое состояние:
Все довольно просто и понятно !
Комментариев нет:
Отправить комментарий