Добавление изображения в правой части строки заголовка панели в Flex 4

Я пытаюсь создать компонент MXML на основе панели "спарк", и я хотел бы добавить изображение в правом конце строки заголовка, чтобы на панели был текст в строке заголовка и небольшое изображение справа конец. Я использую скин для определения цветов, фоновой заливки и т. Д. Но как мне добавить это изображение в правом конце строки заголовка? Я хотел бы сделать это изображение обрезанным, чтобы при вставке компонента использовалось либо изображение по умолчанию, либо новое изображение.

Пожалуйста, помогите с вашими идеями.

2 ответа

Решение

Добавьте компонент изображения в свой скин и присвойте ему идентификатор, а также установите изображение по умолчанию, которое вы хотите показать. Затем создайте компонент ActionScript, расширяющий Panel. В своем пользовательском коде Panel объявите часть обложки с тем же именем, что и идентификатор, который вы указали в своей обложке. Теперь переопределите функцию partAdded в вашей пользовательской панели и установите изображение в соответствии с вашими предпочтениями:

package mypackage
{
    import spark.components.Panel;
    import spark.primitives.BitmapImage;

    public class MyCustomPanel extends Panel
    {

        [SkinPart (required="false")]
        public var panelIcon:BitmapImage;

        override protected function partAdded(partName:String, instance:Object):void {
            super.partAdded(partName, instance);

            if (instance == panelIcon) {
                panelIcon.source = someOtherImageSource;
            }
        }
    }
}

Наконец, свяжите файл скина со своей пользовательской панелью, либо в CSS, либо установив skinClass при использовании своей пользовательской панели.

Вы всегда можете использовать TitleWindow и переназначить кнопку закрытия, чтобы сделать что-то помимо закрытия. Хороший пример создания обложки для TitleWindow и TitleWindowClosebutton здесь: http://blog.flexexamples.com/2010/04/04/changing-the-close-button-skin-on-the-spark-titlewindow-container-in-flex-4/

Другие вопросы по тегам