문제

DeGrafa와 함께 수평선에 스크롤 바를 피부를 피우려고 할 때 몇 가지 문제가 있습니다. 스크롤 바는 전혀 나타나지 않습니다. 스크롤 바가 스키닝없이 나타나야하는지 확인했습니다. 이 작업을 수행하는 Gotchas가 있습니까? 다음은 몇 가지 코드입니다.

내가 피부 스크롤 바를 원하는 HorizOntallist를 정의하는 곳입니다.

<mx:HorizontalList horizontalScrollBarStyleName="thumbnailScrollbar"/>

여기에 내가 스킨의 고급 회의를 정의하는 곳입니다 (화살표의 널리 표시되지 않도록 화살표가 나타나지 않아).

.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>

나는 볼 수있는 것보다 더 많은 항목으로 수평선을 채우고 있으며, 스크롤 바가 스키닝을 제거 할 때 나타나기 전에 말했듯이 내가 말했듯이.

도움이 되었습니까?

해결책

당신의 피부와 스킨폭은 어디에 설정되어 있습니까? 일반적으로 Degrafa 예제는 피부에서 이와 같은 기능을 수행하여 높이/폭을 업데이트합니다.

override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                awidth = unscaledWidth;
                aheight = unscaledHeight;

            }

그 외에도 다음을 수행해야했습니다.

override public function get measuredWidth():Number {return 16; }
override public function get measuredHeight():Number {return 10;}

내 스크롤 바 스킨에서 내가 원했던 높이와 너비를 얻는다. (내부적으로 회전하는 V & H 모두 동일합니다). Flex Scrollbar 스킨에는 약간의 해킹 코드가 있었고 내 막대도 나타나지 않았습니다.

그러나 나는 현재 내 스킨에 degrafa를 사용하고 있지 않으므로 다른 문제가있을 수 있습니다. 내 앞에는 사례가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top