Flex :: Way To Set Scrollbar Skin Globally In Spark Application?
Dec 21, 2011I have a custom skin class that I want to apply to all scrollbars. Is there a way to set this globally in a Flex Spark application?
View 3 RepliesI have a custom skin class that I want to apply to all scrollbars. Is there a way to set this globally in a Flex Spark application?
View 3 RepliesMy goal is to remove all hover feedback from the UI. The motivation is for testing touch interface prototypes and not wanting users to have the queue of interactivity when the mouse hovers which they won't have with a touch interface.
I have a partial solution but it has two problems:
Requires an event handler on each component. Flickers on hover.
protected function ui_suppressHover(event:MouseEvent):void
{
var b = event.currentTarget as UIComponent;
[Code].....
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 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.
<s:Button id="pass"
width="110"
height="35"
[Code]....
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 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?
The button component include skinclass:
<?xml version="1.0" encoding="utf-8"?>
<s:Button xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
[Code].....
I'm working on a Flex 4 application and I started customizing the interface with skins to give a whole new look.So, I've created two scrollbar skins in Flash Catalyst (one horizontal, one vertical).Its working great when I test the application through Catalyst so I took it and imported it on Flash Builder, copied the components and defined the new skins in my css file for the HScrollbar and VScrollbar.The skin is working, all the buttons are ok. But, the scrollbar isnt resizing for some reason. It remains in the same height I've designed it to be regardless of the content it is bound to.
It scrolls the content in all the ways it should be but it doesnt resize and the thumb isnt getting all the way down.Also I've noticed the following.I have a custom component acting as a list. It extends Group and contains a Scroller. So at one place of the application the Scrollthumb is getting lower than on another place where the same custom list is used.I also have to mention that this scroller works perfectly without a custom skin.
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?
[Code]...
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:
[Code]...
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.
View 1 RepliesI have an application with a SWF loader. From the loaded SWF file, I'm accessing public variables from the main application with this:
[Bindable] public var global:Object = FlexGlobals.topLevelApplication;
Alert.show(global.myvar);
This all works perfect. I have a MXML skin file (for buttons) in a directory called 'skins' in the main application. Is it possible to use this skin in the child applications?
I've already tried this, unfortunately not working:
[Bindable] public var global:Object = FlexGlobals.topLevelApplication;
<s:Button label="My Text" skinClass="{global.skins.menuButtons}" />
And this, but then it can't compile anymore:
[Bindable] public var global:Object = FlexGlobals.topLevelApplication;
<s:Button label="Button 1" skinClass="global.skins.menuButtons" />
<s:Button label="Button 2" skinClass="FlexGlobals.topLevelApplication.skins.menuButtons" />
Is it possible what I want in another way or do I have to copy the skin to the all the projects where I want to use the skin?
Is there a way to get a list of all the skin classes that are in the current application? I'm using Flex 4.5.1.
Here is the loop that I'm using now to get all the skins,
for each (var item:Object in styleManager.typeHierarchyCache) {
for (label in item) {
if (label=="spark.components.supportClasses.Skin" ||
[Code]....
The reason why is because I want to list all the skins in the application and then be able to apply them in real time so I can see what they look like.
I'd love to be able to setup a footer at the bottom of my spark application, which runs in a browser. I was reading through the documentation of Application and the awesome Adobe examples. Unfortunately I keep getting lost when the documentation talks about how to position the control bar area at the bottom via spark.skins.spark.ApplicationSkin - sadly I'm not sure what that means from a practical standpoint and am stuck. How exactly do I set this up? Do I need to create an application skin (doesn't seem to be an option for the MXML skins) and apply it to the skin? Or instantiate ApplicationSkin and do something with it (what, exactly)?
Sorry, I'm sure this offensively simple, but I can't find any obvious example anywhere.
I have an Application displaying a spark.List. Every item of my list must be visible (no vertical scroll).
I need my Application to be scrollable in a web browser, so I've add a Scroller containing all my components. When the browser window is too small to contain all my application, scrollBar appears.
My application looks like that :
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" >
[Code]....
When I scroll with my mouse cursor outside of the List, everythink works fine. When I scroll with my mouse cursor over the List, nothing happends.
It looks like the mousewheel event is stopped by the List, even if the List does not have a scrollbar.
How can Application's ControlBar be moved to its bottom in Flex 4.5 ?
The Adobe doc says only:
By default, the ApplicationSkin class defines the control bar area to appear at the top of the content area of the Application container with a grey background. Create a custom skin to change the default appearance of the control bar.
So I look at spark.skins.spark.ApplicationSkin and there is a controlBarGroup (does it hold the ControlBar contents?), but I don't know how to move it from top to the bottom.
I'm using dynamic text for my site and the UIScrollBar but i want to change the skin of the scrollbar. It is very old school looking. I want something more like they have in the link below: [URL]
View 1 Repliesdo I have to necessarily have a application container as the root node in my mxml file?econd, I was reading this document on adobe's website and it says that the spark application container has no scroll bars by default and they can be added by using a custom skin. (Look at the table comparing the mx and spark application containers). But my problem is that my application container already has scroll bars by default and I want to get rid of them. I have a main application container with a custom child component that already has scroll bars. I just want the child to have the scroll bars and not the main application
View 2 RepliesI have to necessarily have a application container as the root node in my mxml file? Second, I was reading this document on adobe's website and it says that the spark application container has no scroll bars by default and they can be added by using a custom skin. (Look at the table comparing the mx and spark application containers). But my problem is that my application container already has scroll bars by default and I want to get rid of them. I have a main application container with a custom child component that already has scroll bars. I just want the child to have the scroll bars and not the main application. Right now I get 2 scroll bars nested within each other.
View 2 RepliesI'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?
EDIT: Here's code for the entire test project:
//HSliderTest.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"[code]......
I have a main application that contains a list, using a custom itemRenderer to display data.
I would like to be able to call a function, inside the itemRenderer, from the main application.
When running the app, we have a list with three persons, and a button. I want to call the function myItemRendererFunction() inside the itemRenderer, of the selected item in the list, all this, from the main app.
[Code]...
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.
View 1 RepliesI have a spark datagrid on a mobile application, I set the
interactionMode="touch"
and the dataGrid scrolling is good, I got some problems adding a selectionChange eventListener to it, because scrolling the dataGrid will automatically change the selection and instead simply scrolling it, the function binded will start...
How can I add the touch dalay before select the index, so if I scroll the grid the selection won't change, and it change only if I press the item without scrolling?
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?
View 1 RepliesI am not able to use fillColor and corner radius in spark. I want to use the mx components(halo) properties both in halo and spark application. Can any one of you help me in using fillColor and Corner radius in both flex 3.0 and Flash 4.0
View 1 RepliesSkinParts 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.
I extend Button to create ImageButton, and I extend ButtonSkin to create ImageButtonSkin. But, when I define hostComponent like this:
public var hostComponent:ImageButton
I get an error that there is a conflict with hostComponent:ButtonBase inside the ButttonSkinBase. How do I extend a skin AND provide a new hostComponent for it?
How can we embed the over,up,down etc skins defined as sybols in a .swf file... i mean in skin file how can i specify those symbols to be used as up,over,down skins.
View 1 RepliesI have a renderer that looks like this:
[Code]...
Loading thumbnails using this method works perfectly. The issue happens when you scroll the List.
I'm looking to add a couple of buttons to the title bar of a Spark Panel or Spark TitleWindow. Is this possible to do without making the panel from scratch?
View 1 Replies