У меня возникают некоторые проблемы при попытке скрыть полосу прокрутки по горизонтали с помощью Degrafa. Полоса прокрутки не отображается вообще. Я проверил, нужно ли показывать полосу прокрутки без скиннинга, и это так. Есть ли какие-либо проблемы с этим? Вот код:Skinning HorizontalList scrollbar с Degrafa
Здесь я определяю HorizontalList, где я хочу скелетный ScrollBar
<mx:HorizontalList horizontalScrollBarStyleName="thumbnailScrollbar"/>
Вот где я определяю ClassReference для шкур (нуль для стрел, так что они не показывают вверх) ,
.thumbnailScrollbar
{
up-arrow-skin: ClassReference(null);
down-arrow-skin: ClassReference(null);
trackSkin: ClassReference("ScrollBarTrackSkin");
thumbSkin: ClassReference("ScrollBarThumbSkin");
}
ScrollBarTrackSkin:
<?xml version="1.0" encoding="utf-8"?>
<GraphicBorderSkin xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="http://www.degrafa.com/2007">
<fills>
<SolidFill id="upFill" color="#FFFFFF" alpha="0.8"/>
</fills>
<geometry>
<RoundedRectangle id="track" x="-8" cornerRadius="16" width="{this.skinWidth}" height="{this.skinHeight}" fill="{upFill}"/>
</geometry>
</GraphicBorderSkin>
ScrollBarThumbSkin:
<?xml version="1.0" encoding="utf-8"?>
<GraphicBorderSkin xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="http://www.degrafa.com/2007">
<fills>
<SolidFill id="background" color="#333333" alpha=".8"/>
</fills>
<geometry>
<RoundedRectangle id="thumb" cornerRadius="16" width="{this.skinWidth}" height="{this.skinHeight}" fill="{background}"/>
</geometry>
</GraphicBorderSkin>
Я наполнении HorizontalList с большим количеством предметов, чем можно просматривать, и как я уже сказал, прежде чем полоса прокрутки появляется, когда я удалить шкуры.
переопределить updateDisplayList больше не требуется. GraphicBorderSkin имеет переменные skinWidth и skinHeight, которые заменяют необходимость переопределенной функции – asawilliams
Ok. Тем не менее, попробуйте установить измеренное значениеHeight/measuredWidth. Или отлаживайте функцию updateDisplayList, чтобы узнать, что такое размеры. – Glenn
Вы были правы, я получал 0 для обоих измерений – asawilliams