Flex :: Changing The Position Of A Scroller Container Programmatically (by HGroup Index)
Feb 10, 2012
I am trying to change the visible index of a Scroller container on an event. The Scroller contains an HGroup with Images, so on an event I want to change which of the Images is visible in the Scroller by specifying an HGroup index. Is this possible?
I have setup a Scroller container around an HGroup of labels. The Scroller is setup to only display a single label at a time. What I am trying to do is determine which label is in view of the Scroller when a button is clicked. I have scoured the reference material on Scrollers and HGroups, but cannot formulate a programmatic strategy to determine what element of the group is in view.
I'm developing an app for ANDROID devices using Flash Builder Burrito and am having trouble figuring out how to accomplish one aspect of my app.I have an HGroup inside of a Scroller. The HGroup has images that are 400px in width and I have the width of each HGroup column set to 400px. Although the number of items is dynamic, assume I have 10 images in the HGroup. The width of the Scroller and Viewport is set to 400px.
So far so good -- the user can see a single image within the scroller. The user can then scroll left or right using touch or mouse and see each image. But here's where I'm stuck. I want to make it so that when the user STOPS scrolling the scroller then "snaps" an image into view. In other words, I don't want half of one image and half of another image in the viewport.
Seems pretty straightforward but I can't figure it out. Part of the issue is that there doesn't seem to be an event to use for this purpose. I know I can hook in to PropertyChangeEvent.PROPERTY_CHANGE or MouseEvent.MOUSE_UP/TouchEvent.TOUCH_END (which is what I'm doing now) but that event doesn't really give me what I need.
I really need an event that fires when the user releases the mouse as part of the scroll or lifts their finger off the device as part of the scroll. And then I need to wait for the scroll to stop. For example, if I do a really fast swipe I need to wait for the scroller to stop or almost stop before I perform the snap. The event fires as soon as I let go of the mouse or take my finger off the tablet, so if I alter the horizontal scroll pos then it gets overwritten by the "slowing down of the scroller".
By the way, I know I can use modulus logic to show each image "whole". That's not where I'm stuck -- I'm stuck at which event to use to know WHEN to perform this mod logic.
Note that what I've already developed works just fine if I slowly scroll and then let off the mouse. It's only when you slide more rapidly that it ceases to work.
Here's my partially working code:
private function onVehicleScrollerMouseUp(event:Event):void { snapScroller(); }
I am making a dragable map and there are few thing on top of the map(UI). When the map is double clicked it enables drag. But it's changing the index position, basically, it going over the UI. what's the easiest way to control the index position of the map? The click and drag event is controlled in mapZoom class.
this.addEventListener(MouseEvent.MOUSE_DOWN, enableDrag); public function enableDrag(e:MouseEvent):void { this.startDrag(); }
I'm writing a game with Flash CS5/AS 3.0 that tries to simulate depth of field by drawing all the relevant Movie Clips based on their Y position in ascending order, i.e. things lower on the stage overlap things higher on the stage. A MovieClip with a Y position of 10 would therefore need to have a lower index compared to a MovieClip with a Y position of 20, so the second one gets drawn on top of the first.
I wrote a quick and dirty function just to test this. During the trace, I've noticed that the truck's index hits 0 when I go near the top of the stage, but if I go too far up it will completely disappear from the stage. Trace then starts generating this error:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/getChildIndex() at EICT::Game/ReorganizeDisplayIndexes()
I am using a scroller component within a custom skin for a SkinnableDataContainer. I am running into an issue in that the thumbbar of the scroller stops at about the 50% point, however this is actually the end of the scrollable area. In actuality, the thumbbar should be at the bottom of the scroll track. Here's the code for the scroller:
I have this MenuBar control in Flex 3. How can I programmatically change the toggled property to false? <mx:MenuBar labelField="@label" itemClick="itemClickHandler(event);" left="0" right="0" top="0" id="menuBar"> <mx:XMLList><menuitem label="File" data="top"> <menuitem label="New" data="file-new"/></menuitem> <menuitem label="View" > <menuitem label="Grid" type="check" toggled="true" data="view-grid"/> </menuitem></mx:XMLList></mx:MenuBar>
I'm using the new Spark Datagrid for a project, but I must confess the scroller is annoying me a little bit, so I would like to have some control over it.
I have a ViewStack, with a bunch of NavigatorContainers in. Each NavigatorContainer contains a different category of settings for the application.
I would like to be able to display a popup prompting the user if they try to leave the current NavigatorContainer without saving the changes they have made to the container's settings.
What would be ideal is something like the 'changing' event in the List component, whereby you are able to cancel or defer the event. Calling preventDefault() on the change event in ViewStack doesn't prevent the index change from happening.
URL...Whenever a chat is added, I want it to completely show the last message. I'm using maxVerticalScrollPosition to set the scroll position on the list, but it is always wrong (see the example). It undershoots it by a row or so. I've tried this with a regular container and it does the same thing. If I do maxVerticalScrollPosition+1, it sort of works, but if the last message is particularly long, it will be cut off (only show the top). How can I get it to scroll to the actual bottom of the container??[code]
I am wrapping a VGroup in a Scroller (by setting the scroller.viewport = vgroup), but I want to only be able to scroll vertically. In flex, a scroller component can set the "horizontalscrollpolicy" to "off", but programmatically in Actionscript 3, it does not seem to expose this attribute. How can I do this in Actionscript 3?
I have a SkinnableContainer class called: 'GroupNavCustomContainer' that uses a skinClass called 'GroupNavCustomSkin'. The GroupNavCustomSkin is the default one Flex creates for you: (The default skin class for a Spark SkinnableContainer container). Now, I have to add buttons to the GroupNavCustomContainer dynamically from outside the class which is not a problem. However, I can't seem to figure out out to make my skin behave as a HGroup so the buttons are spaced evenly. I tried: modifying the Group container to no avail:
i have my hGroups as like [code]and i m trying to hide the hgroups on a condition when this bean tagInfoData have a value "notworking" otherwise it will shown..should i need to write code in the creation complete as all this is in a pop up window of the button click event.[code]
How do you set the position of an AS3 AIR Project window programmatically?It is simple to do with application descriptor, but I cannot get it to work through code.All research has lead me to stage.nativeWindow.x = 200; but this does not do anything for me.
The following has no effect: public function Main():void {
I added a Menu_mc on my stage. Initially, this should be at the center of the stage and when I click on it, it will tween on the upper left corner of the browser. However, when I resize the browser, the Menu_mc goes back to the center of the screen.
I have tried separating a different actionscript file where it is specifically for initialization of the object and another one for resizing. And then when I call it on my main AS file it goes like this:
Code: // Add the symbols to stage var Menu_mc = new Menu_MC(); addChild(Menu_mc);
In my app, the user clicks on an object, which centers the object on the screen. The user's cursor stays where he/she clicked. I find that it is kind of disorienting to have the object move without the cursor. For the user's convenience, I would like to move the cursor to the center of the stage as well.
I am trying to change the width and height of instances of a symbol programmatically. Basically, the symbol contains a few colored rectangles, a bitmap, and some text. I want to change the height and width of each instance of the symbol based on how low the text string is that is in the instance's text field, but the bitmap's size should always stay the same, 24x24 pixels.[code]The problem is that using this code seems to scale everything up, including the bitmap. I have tried to programmatically add the 24x24 pixel bitmap to the symbol programmatically after I changed the height, but it still seems to be scaled..
I've run into a new problem, this time with positioning. I've narrowed down the line that's causing it--"block.y = block.y + block.height;" in SetOfBlocks.shiftDown. When I take it out, no problem. But with it in, instead of just dropping each block down by a block height, the affected blocks sometimes move up, and also often move about randomly within the X axis--although their new positions always keep them lined up with the 'grid', which is to say, within multiples of the block height and widths.
I have an external swf called "home". On the "home" stage is a button, and when this button is clicked, im wanting it to play a movieclip on the Flash document the container resides in (index.swf).
I created a auto scroller which works fine but I would like to change it so that I can reuse it without changing different values each time. The movie consist of a scrollmc and a maskmc (just a rectangle) So if I write, right = 150; 150 being the _x position of maskmc why wouldn't it work if I change it to right = maskmc._x;
Building a custom skin for a flash video player but I do not want any play pause button.stead I want the video scroller to play and pause on a click event.Problem is I want to change the graphics on the scroller to show the user when the video is paused and being played? thought this would be easy but I have been tearing out me hair to get it too work.
Code: // EXAMPLE CREATED BY GENESIS F5 (www.flashkit.com) stageheight = Stage.height / 2; overhangy = ((stageheight * 2) - image._height) / 2;
[code]...
Basically, my problem is that i've got 15 buttons labeled Channel 1 to Channel 15, but when the page first loads up, it skips down showing the very last button at the bottom, rather than the very first button at the top. The top button is off the screen.
I'm using the dynamic scroller found on the kiropa site found here [URL]..In the action script on the ScrollBar, I can't find what variable to change to reset the position of the bar to the top of the scroller when I use the same dynamic text area for other content. It loads just fine, but if the scroller was left at the bottom, it stays there on the new text until you move it a bit, then the text catches up.
I'm hoping to find the variable and reset it when the new text loads.
im trying to embed an swf file in facebook. To cut the story short, the swf im trying to embed is loaded fine but stops at preloader stage (0% of 1) and is not progessing as if it has missing link and couldnt locate something (the files struscture is one main swf file; index.swf loads other 5 swf),But, when i tried to load it up directly from browser, it works fine. I have been advised that changing the link path to absolute between the index.swf and 1.swf, 2.swf etc would solve the problem.
My questions will be:
-how do i change this path, because i couldnt seem to find any link that reflects the connection between those files?
-Is there any feature in flash that would be able to show this link rather than diggin up every symbol?
-If changing the path wouldnt solve the problem, what could be the reason this error is happening?.
how to get the X and Y coordinates of a character in a string based on index? I find it odd that I can get the exact letter and index by clicking a character in a text field, but I haven't found anything in code that can get those coordinates without a user click. Seems like they would have to know the x,y of the individual indexs to be able to tell you what letter you're clicking based on your own mouse coordinates.