This is displaying the button in a correct way but inside a list the gaps are
broken... seems the time measure was called there were calculated some wrong
values...
public class QuadMultilineButtonSkin extends ButtonSkinBase
{
public function QuadMultilineButtonSkin()
{
super();
layoutBorderSize = 0;
}
override protected function createChildren():void
{
super.createChildren();
labelDisplay.multiline = true;
labelDisplay.wordWrap= true;
labelDisplay.setStyle("fontWeight", "normal");
labelDisplay.setStyle("fontSize", 20);
labelDisplay.setStyle("textAlign", "left");
}
override protected function commitCurrentState():void
{
super.commitCurrentState();
// update borderClass and background
invalidateDisplayList();
}
override protected function measure():void
{
super.measure();
labelDisplay.commitStyles();
measuredHeight =
labelDisplay.getPreferredBoundsHeight() + 20;
}
override protected function
updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
setElementSize(labelDisplay,
labelDisplay.getPreferredBoundsWidth(),
labelDisplay.getPreferredBoundsHeight());
setActualSize(unscaledWidth,
labelDisplay.getPreferredBoundsHeight());
setElementPosition(labelDisplay, 10, 10);
}
override protected function drawBackground(unscaledWidth:Number,
unscaledHeight:Number):void
{
graphics.clear();
if(currentState == "down")
{
graphics.beginFill(QuadButton(hostComponent).downColor, 1);
}
else
{
graphics.beginFill(QuadButton(hostComponent).upColor, 1);
}
graphics.drawRect(0,0,unscaledWidth,
labelDisplay.getPreferredBoundsHeight() + 20);
graphics.endFill();
}
}
--
View this message in context:
http://apache-flex-users.2333346.n4.nabble.com/Multiline-Label-in-Spark-Mobile-Button-tp8562p8563.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.