FredericCox
%Europe/Berlin %701 %2008, 17:50
Hoi,
Ik heb een <mx:HorizontalList id="ChapterList" dataProvider="{videos}" itemRenderer="components.thumbnail" backgroundAlpha="0" horizontalScrollPolicy="off" borderStyle="none" left="55" rollOverColor="#18121b" selectionColor="#18121b" width="482" height="90" verticalCenter="0" />
die mooi een lijst weergeeft van enkele videos. Juist zoals ik het wil.
Links en rechts van deze lijst heb ik een terug en volgende knop. Die roepen volgende functie aan.
private function navigate(dir:Number):void{
//navigate through chapterlist
if(dir > 0){
if(ChapterList.horizontalScrollPosition < (videos.length-3)){
ChapterList.horizontalScrollPosition += 1;
}
}else if(dir < 0){
if(ChapterList.horizontalScrollPosition > 0){
ChapterList.horizontalScrollPosition -= 1;
}
}
browseLeft.visible = true;
browseRight.visible = true;
if(ChapterList.horizontalScrollPosition == 0){
browseLeft.visible = false;
}
if(ChapterList.horizontalScrollPosition == (videos.length-3)){
browseRight.visible = false;
}
}
standaard worden 3 videos weergegeven dus als ik er 10 heb en ik scroll naar rechts dan scrollt die list mooi mee maar de itemRenderer wordt wel geupdate bij de title maar niet bij de video erin! Dat geeft dan gewoon het videoframe weer van de vorige die op die plaats stond op het scherm
Dit is mijn itemRenderer, de video wordt niet geupdate
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="170" height="90" buttonMode="true" click="showVideo();" mouseOver="onMouseOver()" mouseOut="onMouseOut();" mouseChildren="false">
<mx:Script>
<![CDATA[
import mx.core.Application;
private function onMouseOver():void{
bumper.play();
}
private function onMouseOut():void{
bumper.stop();
}
private function showVideo():void{
Application.application.playVideo(null, data.index);
}
]]>
</mx:Script>
<mx:Canvas left="0" right="5" width="160" height="90" verticalScrollPolicy="off" horizontalScrollPolicy="off">
<mx:VideoDisplay id="bumper" volume="0" source="{data.videoURL}" autoPlay="false" width="160" height="90" />
<mx:Canvas height="25" width="160" backgroundColor="#4d5956" bottom="7" borderStyle="none">
<mx:Canvas height="25" width="{data.progress}" backgroundColor="#ed007f" />
<mx:Label text="{data.title.toString().toUpperCase()}" fontSize="12" fontFamily="ArialNormal" color="#ffffff" y="3" x="11"/>
</mx:Canvas>
</mx:Canvas>
</mx:Canvas>
ChapterList.validateDisplayList()
ChapterList.invalidateDisplayList()
en
ChapterList.validateNow()
hebben allemaal geen effect..
Ik heb een <mx:HorizontalList id="ChapterList" dataProvider="{videos}" itemRenderer="components.thumbnail" backgroundAlpha="0" horizontalScrollPolicy="off" borderStyle="none" left="55" rollOverColor="#18121b" selectionColor="#18121b" width="482" height="90" verticalCenter="0" />
die mooi een lijst weergeeft van enkele videos. Juist zoals ik het wil.
Links en rechts van deze lijst heb ik een terug en volgende knop. Die roepen volgende functie aan.
private function navigate(dir:Number):void{
//navigate through chapterlist
if(dir > 0){
if(ChapterList.horizontalScrollPosition < (videos.length-3)){
ChapterList.horizontalScrollPosition += 1;
}
}else if(dir < 0){
if(ChapterList.horizontalScrollPosition > 0){
ChapterList.horizontalScrollPosition -= 1;
}
}
browseLeft.visible = true;
browseRight.visible = true;
if(ChapterList.horizontalScrollPosition == 0){
browseLeft.visible = false;
}
if(ChapterList.horizontalScrollPosition == (videos.length-3)){
browseRight.visible = false;
}
}
standaard worden 3 videos weergegeven dus als ik er 10 heb en ik scroll naar rechts dan scrollt die list mooi mee maar de itemRenderer wordt wel geupdate bij de title maar niet bij de video erin! Dat geeft dan gewoon het videoframe weer van de vorige die op die plaats stond op het scherm
Dit is mijn itemRenderer, de video wordt niet geupdate
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="170" height="90" buttonMode="true" click="showVideo();" mouseOver="onMouseOver()" mouseOut="onMouseOut();" mouseChildren="false">
<mx:Script>
<![CDATA[
import mx.core.Application;
private function onMouseOver():void{
bumper.play();
}
private function onMouseOut():void{
bumper.stop();
}
private function showVideo():void{
Application.application.playVideo(null, data.index);
}
]]>
</mx:Script>
<mx:Canvas left="0" right="5" width="160" height="90" verticalScrollPolicy="off" horizontalScrollPolicy="off">
<mx:VideoDisplay id="bumper" volume="0" source="{data.videoURL}" autoPlay="false" width="160" height="90" />
<mx:Canvas height="25" width="160" backgroundColor="#4d5956" bottom="7" borderStyle="none">
<mx:Canvas height="25" width="{data.progress}" backgroundColor="#ed007f" />
<mx:Label text="{data.title.toString().toUpperCase()}" fontSize="12" fontFamily="ArialNormal" color="#ffffff" y="3" x="11"/>
</mx:Canvas>
</mx:Canvas>
</mx:Canvas>
ChapterList.validateDisplayList()
ChapterList.invalidateDisplayList()
en
ChapterList.validateNow()
hebben allemaal geen effect..