Разработка Android-приложений в деталях Машнин Тимур

Раздел Root Element: мастера создания Menu-файла показывает, что корневым элементом XML-файла служит тэг <menu>.

После ввода имени нового Menu-файла и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки menu, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка menu с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.

После создания нового Menu-файла он будет открыт в редакторе ADT-плагина, обеспечивающим визуальное редактирование XML-описания меню. Кнопка Add вкладки Layout редактора Menu-файла обеспечивает добавление в корневой тэг <menu> тэги <group> (элемент Group) и <item> (элемент Item).

Тэг <item> описывает элемент меню, может быть дочерним тэгом тэга <menu> и <group> и иметь в качестве дочернего тэг <menu>, представляющий подменю (элемент Sub-Menu). Тэг <item> имеет следующие атрибуты:

android: id – идентификатор элемента в виде @+id/name.

android: menuCategory – категория элемента меню, определяющая его приоритет (номер в списке) при отображении, возможные значения container, system, secondary, alternative.

android: orderInCategory – номер элемента в списке отображения в пределах категории.

android: h2 – текстовая метка элемента.

android: h2Condensed – укороченная текстовая метка элемента.

android: icon – ссылка на Drawable-ресурс, представляющий значок элемента, который отображается для первых 6 элементов меню опций.

android: alphabeticShortcut – символ быстрого вызова элемента.

android: numericShortcut – цифра быстрого вызова элемента.

android: checkable – если true, тогда элемент содержит флажок выбора.

android: checked – если true, тогда флажок элемента отмечен по умолчанию.

android: visible – если true, тогда элемент видим.

android: enabled – если true, тогда элемент доступен.

android: onClick – имя метода, вызываемого при нажатии элемента.

android: showAsAction – определяет как элемент отображается в ActionBar-панели, возможные значения ifRoom (отображается при наличии места в панели), never (не отображается), withText (отображается с меткой), always (всегда отображается), collapseActionView (с элементом связан разворачивающийся View-компонент).

android: actionLayout – ссылка на Layout-файл, описывающий View-компонент элемента ActionBar-панели.

android: actionViewClass – имя класса View-компонента элемента ActionBar-панели.

android: actionProviderClass – имя ActionProvider-класса, связанного с элементом ActionBar-панели.

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

android: id – идентификатор группы в виде @+id/name.

android: menuCategory – категория группы элементов меню, определяющая ее приоритет (номер в списке) при отображении, возможные значения container, system, secondary, alternative.

android: orderInCategory – номер группы в списке отображения в пределах категории.

android: checkableBehavior – тип группировки элементов, возможные значения none (элементы не отображают флажок выбора), all (элементы группируются как флажки checkbox), single (элементы группируются как переключатели radio button).

android: visible – видимость элементов группы, true/false.

android: enabled – доступность элементов группы, true/false.

При выборе элементов Group и Item кнопкой Add, во вкладке Layout появляются разделы Attributes for Group и Attributes for Item c полями, позволяющими определить атрибуты тэгов <group> и <item>.

Тип ресурса Color List

Данный тип ресурса является аналогом Drawable-ресурса State List с корневым элементом <selector>. Разница состоит в том, что ресурс Drawable State List определяет набор изображений для представления различных состояний View-компонента, а ресурс Color State List определяет набор цветов для представления различных состояний View-компонента.

Для создания ресурса Color State List в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Color List.

Рис.51 Разработка Android-приложений в деталях

Поле File: мастера создания ресурса Color State List предлагает ввести имя нового файла XML-описания набора цветов различных состояний View-компонента, который затем с расширением. xml появится в каталоге res/color Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.color.filename или в XML-коде с помощью ссылки @ [package: ] color/filename.

Раздел Root Element: мастера отображает элементы item и selector, представляющие тэги <item> и <selector> соответственно, при этом тэг <selector> является корневым тэгом XML-файла ресурса Color State List и поэтому в разделе Root Element: необходимо выбрать элемент selector.

Тэг <selector> может содержать один или несколько тэгов <item>, определяющих цвета для различных состояний View-объекта, используя атрибуты:

android: color – цвет состояния в формате #RGB, #ARGB, #RRGGBB, #AARRGGBB.

android: state_pressed – состояние нажатия, true/false.

android: state_focused – компонент в фокусе, true/false.

android: state_selected – компонент выбран, true/false.

android: state_checkable – компонент содержит флажок выбора, true/false.

android: state_checked – флажок компонента отмечен, true/false.

android: state_enabled – компонент доступен, true/false.

android: state_window_focused – окно приложения на переднем плане, true/false.

После ввода имени нового XML-файла ресурса Color State List, выбора элемента selector и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки color, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка color с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.

После создания нового XML-файла ресурса Color State List он будет открыт в XML-редакторе кода.

Тип ресурса Property Animation и Tween Animation

Ресурс Property Animation описывает изменение свойства объекта в течение определенного промежутка времени. Анимация свойств объектов представлена в версиях Android-платформы, начиная с версии 3.0.

Для запуска анимации свойства объекта на основе XML-описания необходимо создать из XML-ресурса Property Animation объект android.animation.AnimatorSet, android.animation. ObjectAnimator или android.animation.ValueAnimator, используя статический метод android.animation.AnimatorInflater. loadAnimator (), и связать анимацию с объектом с помощью метода setTarget () суперкласса android.animation.Animator, после чего запустить анимацию методом start () суперкласса Animator.

Для создания ресурса Property Animation в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Property Animation.

Рис.52 Разработка Android-приложений в деталях

Поле File: мастера создания ресурса Property Animation предлагает ввести имя нового файла XML-описания анимации, который затем с расширением. xml появится в каталоге res/animator Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.animator.filename или в XML-коде с помощью ссылки @ [package: ] animator/filename.

Раздел Root Element: мастера отображает элементы animator, objectAnimator и set, представляющие тэги <animator>, <objectAnimator> и <set> соответственно, при этом каждый из них может служить единственным корневым тэгом XML-файла ресурса Property Animation.

Тэг <animator> представляет класс ValueAnimator и описывает анимацию значения типа float, int или color в течение определенного промежутка времени, используя атрибуты:

android: duration – время анимации в миллисекундах, по умолчанию 300ms.

android: valueFrom – начальное значение.

android: valueTo – конечное значение.

android: startOffset – задержка анимации в миллисекундах.

android: repeatCount – количество циклов анимации, значение -1 означает бесконечную анимацию.

android: repeatMode – режим повторения анимации, возможные значения repeat и reverse.

android: valueType – тип значения для анимации, для значения типа color не указывается, возможные значения intType и floatType (по умолчанию).

Тэг <objectAnimator> представляет класс ObjectAnimator и описывает анимацию значения свойства объекта в течение определенного промежутка времени, используя атрибуты:

android: propertyName – имя свойства объекта, например android: propertyName=«alpha».

android: duration – время анимации в миллисекундах, по умолчанию 300ms.

android: valueFrom – начальное значение свойства.

android: valueTo – конечное значение свойства.

android: startOffset – задержка анимации в миллисекундах.

android: repeatCount – количество циклов анимации, значение -1 означает бесконечную анимацию.

android: repeatMode – режим повторения анимации, возможные значения repeat и reverse.

android: valueType – тип значения для анимации, для значения типа color не указывается, возможные значения intType и floatType (по умолчанию).

Тэг <set> представляет класс AnimatorSet и обеспечивает группировку анимаций, используя атрибут android: ordering с возможными значениями together (анимации проигрываются параллельно) и sequentially (анимации проигрываются последовательно).

После ввода имени нового XML-файла ресурса Property Animation, выбора корневого элемента и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки animator, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка animator с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.

После создания нового XML-файла ресурса Property Animation он будет открыт в XML-редакторе кода.

Ресурс Tween Animation описывает анимацию вращения, исчезновения, перемещения и масштабирования View-компонента. Для запуска анимации View-компонента на основе XML-описания необходимо создать из XML-ресурса Tween Animation объект android.view.animation.Animation, используя статический метод android.view.animation.AnimationUtils. loadAnimation () и запустить анимацию методом startAnimation (Animation animation) суперкласса android.view.View.

Для создания ресурса Tween Animation в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Tween Animation.

Рис.53 Разработка Android-приложений в деталях

Поле File: мастера создания ресурса Tween Animation предлагает ввести имя нового файла XML-описания анимации, который затем с расширением. xml появится в каталоге res/anim Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.anim.filename или в XML-коде с помощью ссылки @ [package: ] anim/filename.

Раздел Root Element: мастера отображает элементы alpha, rotate, scale, set и translate, представляющие тэги <alpha>, <rotate>, <scale>, <set> и <translate> соответственно, при этом каждый из них может служить единственным корневым тэгом XML-файла ресурса Tween Animation.

Вышеупомянутые тэги имеют общие атрибуты, унаследованные от суперкласса android.view.animation.Animation:

android: detachWallpaper – если true, тогда обои не анимируются вместе с окном.

android: duration – продолжительность анимации в миллисекундах.

android: fillAfter – если true, тогда преобразование применяется после окончания анимации.

android: fillBefore – если true, тогда преобразование применяется перед началом анимации.

android: fillEnabled – если true, тогда значение fillBefore учитывается.

android: interpolator – указывает объект android.view.animation.Interpolator, отвечающий за определение скорости анимации.

android: repeatCount – количество циклов анимации.

android: repeatMode – режим повторения анимации, возможные значения repeat и reverse.

android: startOffset – задержка анимации в миллисекундах.

android: zAdjustment – определяет поведение компонента по оси Z, возможные значения normal (позиция в стеке сохраняется), top (компонент в течение анимации находится на вершине стека), bottom (компонент в течение анимации находится внизу стека).

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

android: fromAlpha – начальное значение прозрачности.

android: toAlpha – конечное значение прозрачности.

Тэг <rotate> представляет класс RotateAnimation и описывает вращение вокруг оси, используя атрибуты:

android: fromDegrees – начальный угол вращения.

android: toDegrees – конечный угол вращения.

android: pivotX и android: pivotY – координаты оси вращения от левого края компонента в пикселях или процентах.

Тэг <scale> представляет класс ScaleAnimation и описывает масштабирование компонента, используя атрибуты:

android: fromXScale – начальный коэффициент масштабирования по оси Х.

android: toXScale – конечный коэффициент масштабирования по оси Х.

android: fromYScale – начальный коэффициент масштабирования по оси Y.

android: toYScale – конечный коэффициент масштабирования по оси Y.

android: pivotX и android: pivotY – координаты центра масштабирования.

Тэг <translate> представляет класс TranslateAnimation и описывает движение компонента, используя атрибуты:

Страницы: «« 1234

Читать бесплатно другие книги:

В этой книге авторы специально для вас, уважаемые читатели, изложили собственный опыт и опыт несколь...
Говорят, Сны Богов порождают чудовищ «реальности». Однажды СтранникЪ-Бес-Пробуддень Киргудуин Коровё...
Когда вы освоите этот процесс, то, скорее всего, жить без него уже не сможете. Не сможете создавать ...
Сенсация!Первое русское издание личного дневника Вольфа Мессинга. Сокровенные записи великого экстра...
Бросив вызов сильным мира сего, Тимур рискует всем: своей карьерой, спокойным существованием, любимо...
Эгоцентрики, все помыслы которых сосредоточены только на них самих, – вот кто такие нарциссы. Со сто...