Flex :: Applying Skins Through Actionscript
Feb 25, 2010I have a problem in applying the styles for scroll bar skins through actionscript.[code]How can we specify scaleGrid properties in the above statement?
View 1 RepliesI have a problem in applying the styles for scroll bar skins through actionscript.[code]How can we specify scaleGrid properties in the above statement?
View 1 RepliesI want to be able to style or set properties dynamically.[code]I want to be able to set these properties in the skin so the skin can be styled differently for each component that uses it.
View 1 RepliesHow to use the skins shown on various sites e.g flex skin site into my flex project.
View 1 RepliesThe issue I am having is creating an application with nearly every component skinned using CSS. The majority of the components are skinned using:Embed(source="file.png");method. The problem I am running into, is flex trying to compile all of the embedded assets into the final swf. As it stands now, my compiled swf stands around 16mb!@@ OUCH. It is a very large application, but not that big. Any ideas on how to load the assets into the application at run time, or on request maybe?
View 2 Replieswe try to develop a flash game engine with several abstraction layers. This flex project contains: an Application (1)-> loading a class (2)-> loading another class (3) which instanciates a Flex component (4).
The loadings uses SWFLoader. The last Flex component (4) is just a Group with AdvancedDataGrid. We do not define skins so I suppose it must take default skin.The problem is that during execution, an error is throwed because default skin for components cannot be found in the Flex component (4). In our case, for the AdvancedDataGrid:
Error #1007: Instantiation attempted on a non-constructor.In mx.controls::AdvancedDataGridBaseEx. The guilty command is: getStyle("headerSeparatorSkin"); which returns null
For the moment, we found two solutions :
the first solution is to add the attribute headerSeparatorSkin="spark.skins.SparkSkin" into the AdvancedDataGrid of the Flex component .
I wanna set a custom skin on my progressBar, but it's not working out the way I want it to. My skin has 3 different colors on it (green, yellow, red) and green should show until it's about 50%, then I want the yellow to appear after green and the red at 90% after green and yellow. So at 100% they should all show.The problem is that the ProgressBar only sets the width of my skin so all colors are showing at all times. But if I use the indeterminateSkin but dont set indeterminate to true that doesn't happend.How can I make a skin that doesn't just change width? Atm I'm just using a MovieClip for a skin.
View 1 Repliesbasically I want a list component but without the skin. So it looks like it's just floating over the stage area... Or is there a better way of doing this?
View 1 RepliesI am going to use a HSlider to set a range of values. I would like the left thumb to look like ( and the right thumb to lok like ) so they appear to encompass the range like (range) instead of |range|. I only know how to set the skin for SliderThumb which will set the skin for both. Does anyone know of a way to set a different skin for each thumb?
[Code]...
I'd like to create an HSlider so that the skin of the track is different on either side of the thumb. So, for example, the track on the left side of the thumb is green, but red on the other.Is this possible or will it take a custom component?
View 1 RepliesI am having 2 problems creating programmatic skin for Canvas.
First problem: I would like to have background with rounded corners and I am using GraphicsUtil.drawRoundRectComplex in order to have round corners for only the upper two corners. The problem is that drawRoundRectComplex takes for each corner one single parameter - the corner radius. However my scaleX and scaleY factors are different and in fact the corners are not properly rounded because I either can set the radius using scaleX or scaleY. Graphics.drawRoundRect is better because it takes two parameters for the corners - elipse width and height and then you could apply both scale factors but it doesn't allow me to specify different radius for different corners. How to use GraphicsUtil.drawRoundRectComplex when scaleX and scaleY are different.
Second problem: Even though I set my programmatic skin through style - <> the skin's updateDisplayList gets executed only once and after that somehow "backgroundImage" style gets "undefined" and my programmatic skin is not associated anymore to the Canvas instance. As a workaround I am setting on each resize event "backgroundImage" style again but this is ugly. What could cause such "silent" resetting of the "backgroundImage" style to undefined?
locate the default skin files for Flex 4.5. I want to see how the inner shadow effect has been drawn so I can use the same technique in my own custom skins but I can't find them in the SDK.
View 1 RepliesWe are building an application which is using skin classes in mxml. We plan to build different variants of this application for different user segments, where most of the functionality remains same but only skins vary based on the user segment.We are adding skins to the application by the following syntax:
<s:BorderContainer id="Banner" height="15%" width="100%" skinClass="mySkins.backgroundSkin"/>
Is there a way we can have a skin based on some conditioni.e if usersegment = "A" then use myskins.backgroundSkin1, else use myskins.backgroundSkin2?
When you have a flex project, is it better to use different skins for different components or to use just one big css that has all the styles together?
View 1 RepliesI have a problem which involves skinned buttons returning to their default skins after certain actions occur in my application. Below I have included a partial screenshot where you can observe the problem.The left button is returned to its default skin after it was clicked (the click triggers a state transition). The right button is the default skinned button. Note that my mouse is neither over nor pressing the left button.The code for the Button Skin is as follows:
<?xml version="1.0" encoding="utf-8"?>
<fx:Metadata>
<![CDATA[ [code]......
I am trying to load an swf file which has button skins as images (In the library of the swf file i have given export properties which is 'TickMark') and set the skin of a flex button using StyleManager.setStyleDeclaration.I am getting errors like 'Argument count mismatch on TickMark(). Expected 2, got 0.'This is what i am trying to do:
private function init():void
{
loader = new Loader();[code].....
If I use the class GraphicClass in setStyleDeclaration, it works... but basically I want it dynamically.Or there are other easy methods to skin (image) a flex button dynamically?
1- why we need skins for every elements if we can style our application using CSS file. for example in theme Graphite in SDK's Sample consists of both CSS+.fla and skins---.mxml files.
2- How we can create a whole theme with out coding CSS.
I am trying to set the gradient background color for my panel via skins. I try to change my code but nothing seems to change. Not sure what to do.
My skin file
/<!-- layer 2: background fill --/>
<!--- Defines the appearance of the PanelSkin class's background. -->
<s:Rect id="background" left="1" top="1" right="1" bottom="1">
[Code]....
I need to create a lot of custom Flex 4 skins, in most of the examples I found on the web people use FXG in order to create the skins but if a lot of the icons I use are not resizeable should I still use FXG or better use just plain old bitmap images (jpg. png)?
View 1 RepliesI'm looking for a tool to create just the skins for different kinds of Flex 4 components.I'd like to be able to create the components myself and have the designer/artist do the skin, but I don't think they'd like the idea of doing them by writing MXML files.
View 2 RepliesI'm currently experimenting flex 4 skinning. I successfully skinned most of the components i need for my application, but i can't find a way to avoid this damn blue drop shadow which is displayed when u'r focused on a textfield or a combobox.
View 1 RepliesI'm trying to get a spark tab bar to have a selected tab that does not change color on mouseover. I'm trying to implement this by working with a skin based on the skin spark.skins.spark.TabBarButtonSkin, but despite turning off the shadows on the selected and overAndSelected states, it still shows a dark color on mouseover.
Here's the relevant skin:
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
[Code]....
Objective:I would like to pass Skins to an itemRenderer (which is a Button) of a List, and be able to skin every button in that List.This is what I have:
List:
<s:List itemRenderer="renderers.ItemRenderer" dataProvider="{collectionWorkspace}" />
ArrayCollection:
<s:ArrayCollection id="collectionWorkspace">
<comp:Layout1 />[code]...
I get an error (fixed for clarification):Error: Skin for Application....Button1 cannot be found.
What I'm trying to do: build a super simple button skin (say a small circle when in up state, slightly larger circle when in over / down states) that has a larger mouse hit area than visible area. In other words, I'd like the button to look like a 5x5 circle when in up state, but transition to over state when the mouse is in a 15x15 pixel area around such circle - in order to make clicking on the button easier.
What I've done in the past is to use a transparent ellipse behind the the visible ellipse. This works nicely but seems like a waste of memory (not much, although if you start having a lot of these buttons it adds up) and rendering cycles (transparency). I thought I could avoid this by wrapping the ellipse in a group with a given size and listen to its mouse events, but somehow no mouse events seem to fire on such a group - not sure why.
I guess I'd love to know if anyone knows an efficient way to do this. Also would love to know why such a group won't fire mouse events, but I guess that's secondary. Simple code snippet below:
[Code]...
I'm working on a simple auto complete function for my Flex mobile app. For that I've got a CalloutButton that triggers a Callout.The Callout holds some lists from which the user can select items. On item select, the callout gets closed (calloutButton.closeDropDown())The very same behavior is done for a TextInput. The user inputs text, the callout opens and according to the entered text, the lists change. Works fine so far. Now, when the user selects an item from any of the lists, the callout closes. Also fine.Now the issue, after the callout is closed, the TextInput automatically regains focus.On a mobile device this is more than disturbing.
I narrowed this behavior down to the mobile TextInput skin spark.skins.mobile.TextInputSkin) since a TextInput without this skin class doesn't show this behavior.Now you might say just use the default skin instead but unfortunately I can't. The default skin has a bug with Android devices that doesn't pass though the enter event. That I could live with since I'n not necessarily dependent on the enter event, however, the spark mobile skin allows be to continue entering text in the TextInput even after the callout has been opened, which is desperately needed as the lists change according to the entered text.I can't provide any code as the problem has been narrowed down to the skinClass, thus should not be in my own code. Believe me, I tried every nice and not so nice method to prevent the TextInput from getting focus again, but nothing worked.
Edit:Below the steps of my application's behaviour. (to be fair, the workflow inside the callout is a little more complex, I'm working with several lists and a SplitViewNavigator here (thus can't use the Flextras autocomplete), but that doesn't affect the TextInput focus issue I'm facing).ter text in TextInputOn key change a Callout with two Lists is opened.The first List receives results according to the entered text from a webserviceUser selects item from listSecond list receives results according to selection from first list from webservice User selects item on second listCallout closes
I have the following code to create and apply a few styles for a custom TextArea in ActionScript 3.
public class MyCustomTextArea extends TextArea
{
override protected function createChildren():void
{
[code]....
I have two problems with this code.this.styleSheet is always null when I create an instance of the class. If this.styleSheet is initialized to new StyleSheet() to avoid this issue, then the TextArea instance does not seem to recognize any of the HTML tags that can be used with the htmlText property.
I have a few styles that I want to apply to a slider. I'm aware of the MXML method of defining a mx:Style tag
<mx:Style>
HSlider{
} .SliderHighlightTrackSkin{
} .SliderTrackSkin{
} .SliderThumbSkin{
}
</mx:Style>
Instead of doing it this way I want to define all the styles in a style sheet. I then want to define my slider in a .as file (not an mxml file) and apply the stylesheet to it. Something like the following is what I'm after
levelSlider= new VSlider()
levelSlider.minimum=0;
levelSlider.maximum=1;
levelSlider.value=1;
levelSlider.y=150
levelSlider.styleName="sliderStyle.css"
this.addChild(levelSlider)
I am using to blur an image using BitmapData. The function is called on a Slider_changeHandler(event:Event):voidevent and the value of the slider is passed to the function as blurvalue.The problem is the function works but seems to be cummalative (if that's the correct word!), that is, suppose I slide it to the maximum and after that try to reduce the blur by sliding it back towards the front the blur still keeps increasing. How do I make it to work so when I will slide it up blur increases and when I slide it back blur decreases and when slider is at 0, no blur is applied.[code]
View 2 RepliesThe panel is added OK, but the wipedown effect dont work
import mx.controls.Alert;
import spark.components.Panel;
import mx.effects.Effect;
[Code].....
I'm using papervision3d and I am trying to wrap a single flv video around 4 sides of a cube (Excluding the toip and bottom) but I am unsuccessful so far. I have searched everywhere on the net and all I can manage is to display the single video on each side of the cube seperatly.
Code:
video = new VideoStreamMaterial(videoFile, ncStream, true); var materialsList:MaterialsList = new MaterialsList() materialsList.addMaterial(video, "all");[code]....
Is there a way I can tell it to wrap the videoStreamMaterial around all 4 faces? Or if there isn't can I map the videoStreamMaterial onto a plane and then warp this plane to form a cube somehow?
How to stretch out the movie clip to twice its width and height after applying some Pixel Bender filter? I have some object with video on it (for ex 512 by 512) I apply a Pixel Bender Filter on it. Now I want to stretch the result (for ex to 1024 by 1024). How to stretch it?So my point is 1) Render the result of effect2) Stretch out the result
View 2 Replies