Подкласс SkinnableComponent должен обеспечивать перезапись этого метода для возврата значения.
<s:Range>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:Range Properties maximum="100" minimum="0" snapInterval="1" stepSize="1" value="0" />]]>
Range является базовым классом для различных элементов управления, требующих функций диапазона, включая TrackBase и Spinner.
Если
Действительные значения для диапазона определяются суммой свойства
Например, если
Все обновления свойства
Этот метод предполагает, что вызывающий объект уже использовал
Изменения свойства value ограничены
Изменения свойства value ограничены
Например, если
Если значение этого свойства равно нулю, то допустимыми значениями являются числа, находящиеся между minimum и maximum включительно.
Это свойство также ограничивает допустимые значения для свойства
Изменения свойства value ограничены
<s:ToggleButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ToggleButtonBase Properties selected="false" events change="No default" />]]>
<s:ItemRenderer>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ItemRenderer Properties autoDrawBackground="true" selected="false" showsCaret="false" />]]>
Средства визуализации элементов поддерживают дополнительные состояния представлений. Как правило, состояния представлений в средствах визуализации элементов MXML управляют внешним видом элемента данных с учетом взаимодействия пользователя с этим элементом. Класс ItemRenderer поддерживает все состояния представлений и позволяет использовать эти средства визуализации элементов с классами на основе списка.
Flex определяет следующие состояния представлений, поддерживаемых в средствах визуализации элементов:
Когда пользователь взаимодействует с элементом управления, чтобы изменить состояние представления средства визуализации элементов, Flex сначала определяет, указано ли это состояние представления в средстве визуализации. Если средство визуализации элементов поддерживает данное состояние представления, Flex использует это состояние представления в средстве визуализации элементов. Если средство визуализации элементов не поддерживает данное состояние отображения, действия в Flex не выполняются.
Подкласс ItemRenderer должен перезаписать этот метод, чтобы вернуть значение, если заданное поведение отличается от поведения по умолчанию.
Тремя основными состояниями в Flex 4.0 были "normal", "hovered" и "selected". В Flex 4.5 добавлены состояния "down" и "downAndSelected".
Ниже представлен полный набор поддерживаемых состояний (в порядке приоретности):
Если
Если
Компонент хоста средства визуализации элемента может использовать метод
Для элементов управления, таких как List и ButtonBar, можно использовать свойства
<s:GroupBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:GroupBase Properties autoLayout="true" clipAndEnableScrolling="false" horizontalScrollPosition="null" luminosityClip="false" luminosityInvert="false" layout="BasicLayout" mask="" maskType="clip" mouseEnabledWhereTransparent="true" resizeMode="noScale" verticalScrollPosition="no default" Styles accentColor="0x0099FF" alignmentBaseline="useDominantBaseline" alternatingItemColors="undefined" baselineShift="0" blockProgression="tb" breakOpportunity="auto" cffHinting="horizontalStem" chromeColor="0xCCCCCC" color="0x000000" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" clearFloats="none" digitCase="default" digitWidth="default" direction="ltr" disabledAlpha="0.5" dominantBaseline="auto" firstBaselineOffset="auto" focusColor="0x70B2EE" focusedTextSelectionColor="A8C6EE" fontFamily="Arial" fontLookup="device" fontSize="12" fontStyle="normal" fontWeight="normal" inactiveTextSelectionColor="E8E8E8" justificationRule="auto" justificationStyle="auto" kerning="auto" leadingModel="auto" ligatureLevel="common" lineHeight="120%" lineThrough="false" listAutoPadding="40" listStylePosition="outside" listStyleType="disc" locale="en" paragraphEndIndent="0" paragraphSpaceAfter="0" paragraphSpaceBefore="0" paragraphStartIndent="0" renderingMode="cff" rollOverColor="0xCEDBEF" symbolColor="0x000000" tabStops="null" textAlign="start" textAlignLast="start" textAlpha="1" textDecoration="none" textIndent="0" textJustify="interWord" textRotation="auto" trackingLeft="0" trackingRight="0" typographicCase="default" unfocusedTextSelectionColor="0xE8E8E8" whiteSpaceCollapse="collapse" wordSpacing="100%,50%,150%" />]]>
Если объект макета еще не установлен, createChildren() назначает этому контейнеру стандартный объект макета BasicLayout.
Реализация вызывает методы
Реализация вызывает методы
Если элемент, который должен быть возвращен, не был видимым нижестоящим элементом, т. е. если он был создан или удален, и если были указаны eltWidth или eltHeight, то начальный размер элемента устанавливается с помощью setLayoutBoundsSize() до его утверждения. Это важно для таких компонентов, как текст, которые перекомпоновываются при выравнивании макета по ширине или высоте группы.
Возвращенный элемент макета будет проверен.
Этот метод будет по необходимости «лениво» создавать или повторно использовать и проверять правильность элементов макета.
Этот метод не предназначен для непосредственного вызова, его вызывают макеты, поддерживающие визуализацию.
Тип маски. Возможными значениями являются
Обрезка по маске
Если маскирование находится в режиме обрезки, обрезочные маски уменьшаются до однобитовых. Это означает, что маска не будет влиять на непрозрачность пикселей в исходном содержимом; она либо оставит значение без изменения (если соответствующий пиксель в маске имеет ненулевое значение альфа-канала), либо сделает его полностью прозрачным (если пиксель маски имеет нулевое значение альфа-канала).
Альфа-маскирование
В режиме альфа-маскирования непрозрачность каждого пиксела в исходном содержимом умножается на непрозрачность соответствующей области маски. т. е. пиксель исходного содержимого с непрозрачностью 1, маскированный областью с непрозрачностью 0,5, получит в результате непрозрачность 0,5. Исходный пиксель с непрозрачностью 0,8, маскированный областью с непрозрачностью 0,5, получит в результате непрозрачность 0,4.
Маскирование свечения
Маска свечения, иногда называемая «мягкой маской», действует аналогично маске альфа-канала, за исключением того, что как непрозрачность, так и значение цвета RGB пикселя в исходном содержимом умножаются на непрозрачность и значение цвета RGB в соответствующей области в маске.
Маскирование свечения не принадлежит Flash, но распространено в таких инструментах Adobe Creative Suite, как Adobe Illustrator и Adobe Photoshop. Чтобы выполнить визуальный эффект маски свечения в содержимом, визуализируемом в Flash, графический элемент, определяющий маску свечения, фактически создает экземпляр фильтра затенения, который имитирует визуальный вид маски свечения, как если бы он был выполнен посредством инструментов Adobe Creative Suite.
Объекты, к которым применяются маски свечения, могут установить свойства для управления значением цвета RGB и обрезкой маски. См. атрибуты luminosityInvert и luminosityClip.
Примечание. Не сохраняйте этот объект, потому что группа уничтожает и создает его по требованию.
Значением по умолчанию является
Свяжите класс тем оформления с классом компонента, установив свойство стиля класса компонента
MyComponent { skinClass: ClassReference("my.skins.MyComponentSkin") }
В следующем примере свойство
<MyComponent skinClass="my.skins.MyComponentSkin"/>
Этот метод реализует тему оформления для компонента, добавляет тему оформления как нижестоящий элемент компонента и реализует связи всех компонентов этой темы оформления.
Как правило, подклассы SkinnableComponent не переопределяют этот метод.
Как правило, подклассы SkinnableComponent не переопределяют этот метод.
Подкласс SkinnableComponent должен обеспечивать перезапись этого метода для возврата значения.
Измените эту функцию для присоединения вариантов поведения компоненту темы. Если требуется изменить варианты поведения компонента темы оформления, унаследованные от базового класса, не вызывайте метод
Измените эту функцию для удаления вариантов поведения из компонента.
В дополнение к добавлению свойства
Усечение текста означает замену избыточного текста индикатором усечения, например «...». Индикатор усечения зависит от языкового стандарта; он определяется ресурсом truncationIndicator в пакете ресурсов core.
Если значение
Если
Если значение
Усечение выполняется только в том случае, если значение стиля
Усечение текста означает замену избыточного текста индикатором усечения, например «...». Индикатор усечения зависит от языкового стандарта; он определяется ресурсом truncationIndicator в пакете ресурсов core.
Если значение равно 0, усечение не выполняется. Вместо этого текст просто обрезается, если он не помещается в границы компонента.
Если значение является положительным целым числом, текст будет усечен при необходимости для сокращения числа строк для данного числа.
Если значение равно -1, текст будет усечен для отображения такого числа строк, которое поместится в пределах высоты компонента.
Усечение выполняется только в том случае, если значение стиля
Форматированием данного этого текста управляют стили CSS. Поддерживаемые стили зависят от подкласса.
<s:ScrollBarBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ScrollBarBase Properties pageSize="20" snapInterval="1" viewport="null" Styles autoThumbVisibility="true" fixedThumbSize="false" repeatDelay="500" repeatInterval="35" smoothScrolling="true" symbolColor="0x000000" />]]>
Этот элемент управления расширяет класс TrackBase и является базовым классом для элементов управления VScrollBar и HScrollBar.
Полоса прокрутки состоит из дорожки, ползунка прокрутки переменного размера и двух необязательных кнопок со стрелками. Класс ScrollBarBase использует четыре параметра для вычисления его состояния отображения:
Если значение стиля
Это свойство обновляется при перемещении ползунка полосы прокрутки, даже если значение
Классы VScrollBar и HScrollBar переопределяют эти методы для сохранения своих свойств
Например, если
Если значение этого свойства равно нулю, то допустимыми значениями являются числа, находящиеся между minimum и maximum включительно.
Это свойство также ограничивает допустимые значения для свойства
<s:ButtonBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ButtonBase Properties autoRepeat="false" content="null" label="" stickyHighlighting="false" Events buttonDown="No default" Styles alignmentBaseline="USE_DOMINANT_BASELINE" cffHinting="HORIZONTAL_STEM" color="0" cornerRadius="4" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlpha="0.5" focusColor="0x70B2EE" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" locale="en" renderingMode="CFF" repeatDelay="500" repeatInterval="35" textAlign="START" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" wordSpacing="100%" />]]>
Этот метод вызывается для обработки событий
Свойство
Если ширина метки больше ширины элемента управления ButtonBase, метка усекается с добавлением многоточия (...). Полная метка отображается в виде всплывающей подсказки при наведении на элемент управления курсора мыши. Кроме того, при установке всплывающей подсказки с помощью свойства
Это – свойство ButtonBase по умолчанию.
Это свойство является типом facade свойства
<s:TrackBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:TrackBase Styles slideDuration="300" Events change="No default" changing="No default" thumbDrag="No default" thumbPress="No default" thumbRelease="No default" />]]>
Подклассы TrackBase должны отменить этот метод и выполнить преобразования, учитывающие их собственную геометрию. Например, вертикальный ползунок может вычислять значение следующим образом:
return (y / track.height) (maximum - minimum);
По умолчанию данный метод возвращает значение
Большинство подклассов переопределяет этот метод для обновления размеров, положения и видимости ползунка на основе свойств
По умолчанию данный метод не выполняет никаких действий.
<s:SliderBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SliderBase Properties dataTipFormatFunction="20" dataTipPrecision="2" maximum="10" showDataTip="true" Styles alignmentBaseline="USE_DOMINANT_BASELINE" baselineShift="0.0" cffHinting="HORIZONTAL_STEM" color="0" digitCase="DEFAULT" digitWidth="DEFAULT" direction="LTR" dominantBaseline="AUTO" focusAlph="0.55" focusColor="0xFFFFFF" fontFamily="Arial" fontLookup="DEVICE" fontSize="12" fontStyle="NORMAL" fontWeight="NORMAL" justificationRule="AUTO" justificationStyle="AUTO" kerning="AUTO" ligatureLevel="COMMON" lineHeight="120%" lineThrough="false" liveDragging="true" local="en" renderingMode="CFF" textAlignLast="START" textAlpha="1" textDecoration="NONE" textJustify="INTER_WORD" trackingLeft="0" trackingRight="0" typographicCase="DEFAULT" />]]>
Функция имеет следующую подпись:
funcName(value:Number):Object
В следующем примере к тексту всплывающей подсказки текущего значения добавляется символ доллара, а затем текст форматируется с использованием свойства
import mx.formatters.NumberBase; function myDataTipFormatter(value:Number):Object { var dataFormatter:NumberBase = new NumberBase(".", ",", ".", ""); return "$ " + dataFormatter.formatPrecision(String(value), slide.dataTipPrecision); }
Если значение стиля
Это свойство обновляется, когда ползунок передвигается, даже если значение
Как правило, классы тем оформления записываются в MXML, как показано в следующем примере:
<?xml version="1.0"?> <Skin xmlns="http://ns.adobe.com/mxml/2009"> <Metadata> <!-- Specify the component that uses this skin class. --> [HostComponent("my.component.MyComponent")] </Metadata> <states> <!-- Specify the states controlled by this skin. --> </states> <!-- Define skin. --> </Skin>
Макет пытается изменить размер всех нижестоящих элементов в соответствии с предпочтительным размером. Если имеется достаточно места, то для каждого нижестоящего элемента устанавливается его предпочтительный размер плюс избыточное пространство, равномерно распределенное между нижестоящими элементами.
Если места не достаточно для установки предпочтительного размера для всех нижестоящих элементов, то нижестоящим элементам с шириной меньше средней ширины присваивается их предпочтительный размер, а остальные элементы уменьшаются в равной степени.
Всем нижестоящим элементам присваивается высота вышестоящего элемента.
В настоящее время пользователь нажимает этот компонент.
В настоящее время указатель мыши пользователя наведен на этот компонент.
Действия с этим компонентом не выполняются.
<s:ButtonBarBase>
tag inherits all of the tag
attributes of its superclass and adds no new tag attributes:
<s:ButtonBarBase/>]]>
ItemRenderer выбирается путем нажатия, и при этом устанавливаются свойства
События клавиш стрелок обрабатываются с регулированием
Свойство
Свойство
Инициирует обработку табуляторов: компонент получит фокус вследствие табулирования, но не в результате нажатия на него мышью. Табулирование к нижестоящим элементам заблокировано.
Для поиска соответствующих полей и возврата отображаемого значка можно использовать функцию
Функция значка принимает отдельный аргумент, являющийся элементом в поставщике данных, и возвращает действительный источник BitmapImage.
myIconFunction(item:Object):Object
<s:ListBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:ListBase Properties arrowKeysWrapFocus="false" labelField="label" labelFunction="null" requireSelection="false" selectedIndex="-1" selectedItem="undefined" useVirtualLayout="false" Events caretChange="No default" change="No default" changing="No default" />]]>
Примечание. Элементы управления Spark на основе списка (класс Spark ListBase и его подклассы, такие как ButtonBar, ComboBox, DropDownList, List и TabBar) не поддерживают класс BasicLayout в качестве значения свойства
При изменении значения свойств
Это событие отправляется при взаимодействии пользователя с элементом управления. При изменении значения свойств
Событие
События
Можно предоставить функцию
Функция метки принимает отдельный аргумент, являющийся элементом в поставщике данных, и возвращает строку.
myLabelFunction(item:Object):String
По умолчанию используется значение
Значение всегда находится между -1 и (
Если выбранный элемент удален, выбранный индекс устанавливается следующим образом:
При изменении пользователем свойства
Установка для
При удалении выбранного элемента значение выбранного элемента устанавливается как:
При изменении пользователем свойства
При изменении состояния, если требуется воспроизвести переход, выполняется playTransitions.
Возможные значения:
<s:DropDownListBase>
tag inherits all of the tag
attributes of its superclass and adds the following attributes:
<s:DropDownListBase Styles cornerRadius="4" dropShadowVisible="true" Events closed="No default" open="No default" />]]>
Элемент управления DropDownListBase состоит из кнопки привязки и раскрывающегося списка. Кнопка привязки используется для открытия и закрытия раскрывающегося списка.
Когда раскрывающийся список открыт:
<s:SkinnableTextBase>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:SkinnableTextBase autoCapitalize="none" [Mobile theme only] autoCorrect="true" [Mobile theme only] displayAsPassword="false" editable="true" imeMode="null" [Spark theme only] maxChars="0" prompt="null" restrict="null" returnLabelKey="default" [Mobile theme only] selectable="true" selectionHighlighting="whenFocused" [Spark theme only] softKeyBoardType="default" [Mobile theme only] text="" typicalText="null" [Spark theme only] Styles borderAlpha="1.0" borderColor="0x696969" borderVisible="true" contentBackgroundAlpha="1.0" contentBackgroundColor="0xFFFFFF" focusAlpha="0.55" focusColor="0x70B2EE" showPromptWhenFocused="true" Events change="No default" changing="No default" [Spark theme only] selectionChange="No default" [Spark theme only] textInput="No default" [Spark theme only] />]]>
В мобильной теме — не отправляется.
В мобильной теме — не отправляется.
В мобильной теме — не отправляется.
Поддерживаемые значения определены в flash.text.AutoCapitalize:
Не поддерживается для темы Spark.
Не поддерживается для темы Spark.
Для получения информации о теме Spark см. spark.components.RichEditableText.editable.
Для использования в мобильной теме см. раздел spark.components.supportClasses.StyleableStageText.editable
Эта функция не поддерживается в мобильной теме.
Для получения информации о теме Spark см. spark.components.RichEditableText.imeMode.
Эта функция не поддерживается в мобильной теме.
При первом создании элемента управления текстом на экране отображается запрос. Запрос не отображается, когда элемент управления получает фокус или значением его свойства
Если пользователь использует элемент управления текстом для ввода и последующего удаления текста, запрос отображается повторно, когда этот элемент управления теряет фокус. Для повторного отображения запроса также можно применить программный способ, указав пустую строку в качестве значения свойства text элемента управления текстом.
Для изменения стиля запроса можно использовать CSS. Если элемент управления не выключен и содержит запрос, стиль определяется псевдоселектором
В приведенном ниже примере CSS изменяет цвет текста запроса в элементах управления, которые создают подкласс SkinnableTextBase (в том числе элементов управления Spark TextInput и TextArea):
@namespace s "library://ns.adobe.com/flex/spark"; s|SkinnableTextBase:normalWithPrompt { color: #CCCCFF; }
Поддерживаемые значения определены в flash.text.ReturnKeyLabel:
Не поддерживается для темы Spark.
Для получения информации о теме Spark см. spark.components.RichEditableText.selectable.
Для использования в мобильной теме см. раздел spark.components.supportClasses.StyleableStageText.selectable
Для получения информации о теме Spark см. spark.components.RichEditableText.selectionActivePosition.
Для использования в мобильной теме см. раздел spark.components.supportClasses.StyleableStageText.selectionActivePosition
Для получения информации о теме Spark см. spark.components.RichEditableText.selectionAnchorPosition.
Для использования в мобильной теме см. раздел spark.components.supportClasses.StyleableStageText.selectionAnchorPosition
Для получения информации о теме Spark см. spark.components.RichEditableText.selectionHighlighting.
Эта функция не поддерживается в мобильной теме.
Поддерживаемые значения определены в flash.text.SoftKeyboardType:
Не поддерживается для темы Spark.
Для получения информации о теме Spark см. spark.components.RichEditableText.text.
Для использования в мобильной теме см. раздел spark.components.supportClasses.StyleableStageText#text
Для получения информации о теме Spark см. spark.components.RichEditableText.typicalText.
Эта функция не поддерживается в мобильной теме.