Hi Deepak, 

I didn't test, but since Datatips are managed at the chart level, not at the 
renderers level,  (check ChartBase.mouseOverHandler() ), then it likely that 
simply adding click/tap listeners to the renderer will not work.

Did you try  setting mouseSensitivity property for the chart ? 

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/charts/chartClasses/ChartBase.html#mouseSensitivity


Maurice 

-----Message d'origine-----
De : Deepak MS [mailto:megharajdee...@gmail.com] 
Envoyé : mercredi 27 août 2014 11:46
À : users@flex.apache.org
Objet : Lineseries tooltip on mobile

Hi there,
I'm using a columnchart with a lineseries in it for an ipad app. I have enabled 
tooltip for it. But unfortunately its too difficult to get the tooltip on the 
device when we move the finger over it.

Hence I planned to add a custom circleitemrenderer with width and height of
20 to get the custom tooltip by adding a click\touchtap event on it.

But unfortunately, it is not triggering the click\touchtap event at all.

My code:

myLineSeries.setStyle('itemRenderer', new ClassFactory(DataPointRenderer));


public class DataPointRenderer extends CircleItemRenderer
    {
        public function DataPointRenderer()
        {
            super();
            width = 20;
            height = 20;
            addEventListener(MouseEvent.CLICK, onClick);
            addEventListener(TouchEvent.TOUCH_TAP, onClick);

            addEventListener(MouseEvent.MOUSE_OVER, onOver);
        }

        private var model:ApplicationModelLocator = 
ApplicationModelLocator.getInstance();
        private function onOver(event:MouseEvent):void
        {
            model.showAlert('over');  /// This function is not at all called 
even after clicking(both on simulator as well as on device)
        }

        private function onClick(event:MouseEvent):void
        {
            model.showAlert('clicked');    /// This function is not at all
called even after mouse hover (on desktop simulator)
        }

        override protected function
updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void
        {
            super.updateDisplayList(unscaledWidth, unscaledHeight);
            var currentFill:uint;
            var g:Graphics = graphics;
            g.clear();
            if (data is ChartItem && data.hasOwnProperty('fill'))
            {
                currentFill = data.fill.color;
                g.beginFill(currentFill);
                g.drawCircle(5,5,20);
                g.endFill();
            }

        }
    }


Am I missing something here?

Reply via email to