Thanks a Lot Maurice ill try that and keep you posted
On Wed, Dec 18, 2013 at 5:22 PM, Maurice Amsellem < [email protected]> wrote: > Ok, so Mobile ButtonSkin implementation is very different from desktop > skin, that's why it's not working and why the previous advices don't stand, > IMO. > > First of all, "textAlign" style applies to the text *inside* its bounding > box, not its parent bounding box. > - in desktop skin, the label takes all the width of the button, minus > margins (left=10 right=10), so textAlign will have an effect. > - but in mobile skin, the label width is set to the actual width of text, > so changing textAlign has not effect. > > Anyway, if you look/debug into mobile ButtonSkinBase, you will notice > there is a protected variable called "useCenterAlignment" that is to true > by default, and controls how the label is aligned. > Setting it to false, will align your label to the left. > > So you can simply override mobile ButtonSkin (not ButtonSkinBase) and set > useCenterAlignment=false in the constructor. > > Regards, > > Maurice > > > -----Message d'origine----- > De : Maurice Amsellem [mailto:[email protected]] > Envoyé : mercredi 18 décembre 2013 10:17 > À : [email protected] > Objet : RE: Spark Button textAlign > > Ah, that was mobile, not desktop :-) > > I will look at it and get back to you... > > Maurice > > -----Message d'origine----- > De : Sumudu Chinthaka [mailto:[email protected]] Envoyé : mercredi 18 > décembre 2013 09:57 À : [email protected] Objet : Re: Spark Button > textAlign > > please find the link to the skin file > > > https://drive.google.com/file/d/0B_2mxcIbB40qeUZsQVJqZGR0aGs/edit?usp=sharing > > > > > On Wed, Dec 18, 2013 at 12:33 PM, Maurice Amsellem < > [email protected]> wrote: > > > Attachments are stripped by mailing list. > > Provide a public link, such as DropBox, or the like > > > > De : Sumudu Chinthaka [mailto:[email protected]] Envoyé : mercredi 18 > > décembre 2013 00:46 À : [email protected] Objet : Re: Spark Button > > textAlign > > > > Really appreciate your advice but still i'm failing to get this done > > > > i have copied ButtonSkin class and created MyButtonSkin class which > > now extends from ButtonSkinBase and remove super.createChildren call > > and include ButtonSkinBase createChildren content inside MyButtonSkin > > createChildren content and set the textAlign property, but with no > > luck > > > > i am attaching my Skin class here please please tell me what am i > > doing wrong > > > > Thanks > > Sumudu > > > > On Wed, Dec 18, 2013 at 4:37 AM, Maurice Amsellem < > > [email protected]<mailto:[email protected]>> wrote: > > You can copy the default skin of course, like Evyatar suggests. > > That's the preferred solution. > > > > Regarding your initial approach of setting the textAlign style of > > labelDisplay, it didn't work because it was done too early in > > createChildren. > > > > If you do it after the components have been created, and their > > properties /styles set, for example by overriding initialized() or by > > adding a handler to creationComplete, then it will work. > > > > override public function set initialized(value: Boolean): void { > > super.initialized = value; > > UIComponent( labelDisplay).setStyle("textAlign", "left"); > > } > > > > Maurice > > > > -----Message d'origine----- > > De : Evyatar Ben Halevi-Arbib [mailto:[email protected]<mailto: > > [email protected]>] > > Envoyé : mardi 17 décembre 2013 21:14 > > À : [email protected]<mailto:[email protected]> > > Objet : Re: Spark Button textAlign > > > > When you create a new skin (at least in Flash Builder) you can start > > by creating a copy of the default skin. > > Just do that and on the Label MXML tag itself set the textAlign > > property to left. > > > > Good luck, > > Evyatar > > > > > > On Tue, Dec 17, 2013 at 7:41 PM, Sumudu Chinthaka <[email protected] > > <mailto:[email protected]>> wrote: > > > > > i have created a skin class that extends > > > spark.skins.mobile.ButtonSkin and set textAlign to be left in > > > createChildren method but it does not work > > > > > > package skins > > > { > > > import spark.skins.mobile.ButtonSkin; public class MyButtonSkin > > > extends ButtonSkin { public function > > > MyButtonSkin() { super(); } override protected function > > > createChildren():void { super.createChildren(); > > > labelDisplay.setStyle('textAlign','left'); > > > } > > > } > > > } > > > > > > > > > On Tue, Dec 17, 2013 at 7:31 PM, Maurice Amsellem < > > > [email protected]<mailto:[email protected]>> > wrote: > > > > > > > What do you mean by custom skin? > > > > 1) Default skin customized through css styles (eg. textAlign)? > > > > 2) Completely new skin class ? > > > > > > > > Maurice > > > > > > > > -----Message d'origine----- > > > > De : Sumudu Chinthaka [mailto:[email protected]<mailto: > > [email protected]>] Envoyé : mardi 17 > > > > décembre 2013 14:45 À : [email protected]<mailto: > > [email protected]> Objet : Spark Button > > > > textAlign > > > > > > > > Hi All > > > > > > > > I want to crate a custom skin for a Spark button with textAlign to > > > > be set to "left", but i found out there is a restriction set in > > > > Button class > > > that > > > > prevent accepting textAlign values > > > > > > > > is there any way to override [Exclude(name="textAlign", > > > > kind="style")] setting in Button subclass so that i can set this > > > > through css > > > > > > > > or is there any alternative way to achieve this > > > > > > > > Thanks > > > > Sumudu > > > > > > > > > > > >
