Flex :: Copy/modify The Spark Skin For The Default Button?
Jun 20, 2010
I'm trying to copy/modify the spark skin for the default button, but not sure how to find that skin. When I hover over <s:Button and Ctrl + Click it, it takes me to the Button class, but there isn't any skin information there.
I am trying to add different icon on different buttons. I have my skin file ready but not sure if I have to create different skin class for different button. It sounds inefficient.
I have spark skin a button with up, down, over, and disable states in a button component to create a modular. Is there a way when the user press and hold a key, the button will remain in 'down' state?
I have a videoplayer with a custom skin class. I want to override the functionality of the fullscreen button. When I add an click event, the player still goes into fullscreen mode. How can I prevent the fullscreen event from firing?
I'm building a videoplayer using the flvplayback component for flash cs5 the skin i'm using is SkinUnderAllNoCaption.swf.my question is how do I modify the code for the forward button currently the forward button scrubs the video file.I want the forward button to go to another video and for the rewind button to go to the previous video.
I've skinned an hSlider's thumb with an image. But the image is pixelated, as though it's been forced to resize.It's just a pretty circle with a radius of 30 px.The other thing that happens is that instead of the new button being cleanly bisected by the track, it is just below the track, tangential to it. So now I have to reposition it by modifying its y value in SliderThumbSkin.mxml? And (presumably because its registration point is at upper left) when I slide it all the way to the right, it goes right off the end of the track until its left edge is at the track's right edge. This might also mess up calculations for the hSlider.value property.
You'd think you could just apply the skin and it would replace the button, but seems that both its position and size are being wrongly manipulated.Is the thumb's size automatically reset or resized somewhere? Is there a way to do this correctly and cleanly?
My current requirement: I have menubar with 3 different button types. Skin structure is simple: one label and two state graphics. So my base skin have label, and in overridden i want add two images. But flex docs states that overriding of skin is not preferred. I try override override public function addElementAt(element:IVisualElement, index:int):IVisualElement for adding new subcomponents to custom container sdk using it but my view is blank. Does skins are really not overridable? My current code:
<s:ButtonBar skinClass="MenuSkin" dataProvider="{content}" /> in MenuSkin: ... <fx:Component id="firstButton">
[code]....
and next 2 skins have repeated <s:Label/> part. As label should look the same, naturally i want extend base skin class but it is no possible form me. First problem: if i add image in mxml it overlaps label.
I have a project where we are trying to skin Spark components from a third party library that are built up from the drawing API primitives. Our first attempt involved creating a Flex skin (SWC) in Illustrator/Flash and applying that skin to the Spark components via CSS. We found that even with only a single instance of one of the components skinned in this way on stage, the application was brought to it's knees. For example, it failed to respond in repaint scenarios in a timely manner, and exhibited all the symptoms of being hung.
Our next approach will be to recreate the same skin artifacts in MXML classes that are in turn associated with the third-party components. Although the complexity of some of the skins leads me to believe that we might not avoid performance problems with this approach either. My question is the following: Is there a correct or recommended way to apply either a SWC or based skin to a component that is built up from the Spark drawing API to begin with? Even as I ask the question I recognize that the approach means using the Spark drawing API in two places and will probably have unexpected consequences.
I am having trouble wrapping my head around the spark skin class in relation to it's host component. Basically, from what I've seen with most every skin that comes in the Flex 4 framework they don't directly expose the properties that are dynamically being set in the host component. Instead, they define states that get exposed to the skin class to define when a component should look different. This is all fine and dandy when you have a very simple component with a standard set of states, but when you have twenty different properties (hypothetically) to set in your host component that should change how the skin looks it could get very complicated very fast.
The way that I've seen that they have used to get around this is by overriding the commitproperties and invalidate functions in the skin class, grabbing the values for the properties they want from there, and then setting them to a locally instantiated variable inside the skin class. This is fine, but I feel like that is just a patch workaround to it which makes things a lot more complicated than it needs to be.Is there any way to directly expose a bindable property from the host component class so when you define your skin class it is directly ready to be read from? Let's say you have custom button with a boolean property of 'selected'. In the skin class, you want to add in a get and set function for the property 'selected' so you can perform some action upon your skin whenever it's set. How do you tell the skin class that this is an available property for you to work with from the host component?
I want to use a Spark ComboBox with numerous MX Components but the Spark ComboBox does not look the same as the MX Components. Is there a skin I can use to Skin Spark components like MX components?
I've created a skin that allows me to have two labels on a spark button, but the button text won't center vertically. It stays at the top of the button no matter what settings I give it. The icon in the skin DOES however, center vertically. This is the skin:
How do you set the default value of skinClass for a custom component in Flex? I've extended the DropDownList with my custom component, but I would like to specify a default skin to go with it instead of always setting the skinClass value for each instance.
For example the spark ComboBox.Where is the default skin?Is it generated (at compile or runtime)?If it was in fact written by someone how does the compiler/Virtual Machine know where to find the skin class? I didn't see a location specified in the ComboBox source.
I want my list control has its content height as I don't want scroll bars. For the scrolling purpose I have my own scroller in parent container.
Now, The problem is when list control exceeds the maxHeight 10000, then it will start clipping remaining data. I think the solution is increase the maxheight.
In this case assume that I have arrData.length = 9999999, and for that mylist's height will become 10000+ (Lets assume 15000). now mylist will clipped after 10000px height or list's vertical scrollbar will visible and as I adready have scroller of my own It will have two scrollbars at that particular time.
I'm trying to make a horizontal list of labels with a space in-between them (for use as part of a ticker tape).Labels outside of a list have a transparent background but as part of either the ItemRenderer or List, they get a white background. My assumption is that this is part of the default styling applied to a Spark ItemRenderer.Question - Is there any way to totally get rid of all default visual stylings applied to an ItemRenderer?
protected var messages:ArrayCollection = new ArrayCollection( new Array("1", "2", "3", "etc") ); <s:List dataProvider="{messages}" itemRenderer="SimpleTextRenderer"> <s:layout >[code].....
I was trying to get the COPY cursor using DragMananger and event.preventDefault()- but got a very weird cursor behavior (the items' drop indicator was wrongly presented - etc.) Therefor i am trying to stick to default - this works fine - but my cursor now on copy is a simple arrow, and i would like to get the arrow with the grin plus on it
I have a spark DataGrid component with several columns and I want to have my application default to descending order on the first column in the DataGrid. I would like to use the built-in default sort that occurs when clicking the top header once. I have no need to sort the ArrayCollection I'm working with or change what the comparators are.I also want any user-generated sorting such as clicking on a different column's header to override the default sorting.
In the Spark DataGrid the default row height is about 22 px. I would like to set the default row height to 18 pixels and I can do this easily enough with the rowHeight property but what happens is when the rowHeight is set to anything less than 22 px the bottom area of the text in each row is cut off. It seems that the default grid itemrenderer or grid label has a min height set to it. Since I have multiple columns and want to have shorter rows but not have the bottom of the text cut off in each row how would I do this?
I am trying to customise a FLVPlayback Skin that has a counter in it, (MinimaFlatCustomColorPlayBackSeekCounterVolMute.fla)If i modify any of the skins without a counter there is no problem however when i try to publish one of the skins with a counter i get these compiler errors:Warning: unable to load SWC FLVPlaybackAS2.swc.1046 type was not found or was not compile time constant: NetstreamPlayOptions
I'm trying to prevent a default chart item roll over highlight in a Spark column chart.If you look at any of the chart examples on this page , when you roll over any of the chart series items, they turn a darkened shade of their original colour. This is what I want to prevent.
So far I have had no luck with using the itemRollOverColor property, as this only allows you to set it to one specific colour for the whole chart (my app has several different coloured series on the chart at once). Also, trying to leverage the itemRollOver event (with preventDefault() etc) hasn't worked either.
How do I addElement() to the topGroup of a Spark Panel component skin?For instance, if I create a custom UIComponent, then create an associative skin that uses the Spark Panel as a default, how do I add elements to the topGroup from within the skin?
Mac OSX 10.4.11 - CS4. I have a supplied video.flv that I have in Flash with a skin control and exported as video.swf and inserted into a GoLive site, all is well apart from the excessive sound. The volume controller is defaulted to max and I would like to reduce the default volume by about 50%. Is this possible to do in Flash before exporting the video.swf.
SkinParts are a great way to add event handlers and logic to an object that is instantiated in the skin, away from any business code. Often, though, I find myself wanting to do the opposite, and define parts that will be used in reusable, skinnable containers in the parent mxml files which will be inserted into the skinned containers.
What's the best practice for when you want to be able to define a control and a skin which can be reused with different controls inserted from outside the skin? Edit: A better way to put this might be that I want to use something that works a little bit like a SkinnableContainer, but that isn't limited to one area where content can be placed.
We are using default CS5 skins with an flvplayback component built through action script 3. When playing certain videos (and only certain videos, however there isn't yet a pattern), the play/pause, stop & seek buttons are completely unresponsive. They don't change stats on hover & they are unclickable.However, the fullscreen button does always work, and upon going fullscreen and coming back out, the buttons now work again. So far, the problem was seemingly at its worst displaying a video that was encoded with Sorenson spark (an older codec) and we wondered if it had to do with the file itself, the headers, anything of that sort. But the fact that the skin and buttons work fine once entering and exiting fullscreen - that is perplexing.