Radial menu placement

I am trying to place the radial menu on the bottom right of the screen. I want it to be there for every screen that has it. 

The radial menu does not follow the layout manager. It somehow ends up in the center of the component it is being place in, but sometimes it will also go off the screen. 

It also will get hidden behind components sometimes, and when they are transparent you can see it but you can't interact.

I can't find how to make the radial menu follow the layout of the view it is a child of

If I add the radial menu to a stack layout and I define the layout to use 'End' . so it will always be to the right and bottom (or 'Start' ) for left handed setting.

How can I do this?

3 Replies

SK Selva Kumar  Veerakrishnan Syncfusion Team February 1, 2018 01:51 PM UTC

Hi Raphael,

Thank you for contacting Syncfusion Support.

We could reproduce this issue “RadialMenu will not be interact when it is placed below another layer”. This will be fixed in our upcoming 2018 Volume 1 release, which is expected to be rolled out by the mid of February 2018.

Regards,

Selva Kumar V.


RS Ruba Shanmugam Syncfusion Team September 24, 2020 11:53 AM UTC

Hi Raphael, 
 
Greetings from Syncfusion. 
 
We have validated your query and you can adjust the position of the Radial Menu center button placement by using Point property based on your requirement.  
 
We have prepared sample for your reference to display the RadialMenu at the bottom right and get the sample from below link. In this sample we have updated the Point API based on the orientation change. 
 
 
Code Snippet: 
protected override void OnSizeAllocated(double width, double height) 
        { 
            base.OnSizeAllocated(width, height); 
            if (width > height) 
            { 
                if (Device.RuntimePlatform == Device.Android) 
                { 
                    range.Point = new Point(240, 90); 
                } 
                else if(Device.RuntimePlatform==Device.iOS) 
                { 
                    range.Point = new Point(240, 90); 
                } 
                else 
                { 
                    range.Point = new Point(300, 350); 
                } 
            } 
            else 
            { 
                if (Device.RuntimePlatform == Device.Android) 
                { 
                    range.Point = new Point(120, 200); 
                } 
                else if (Device.RuntimePlatform == Device.iOS) 
                { 
                    range.Point = new Point(300, 380); 
                } 
                else 
                { 
                    range.Point = new Point(300, 350); 
                } 
            } 
   } 
 
 
Please let us know, if you have any other concerns. 
Regards, 
Ruba Shanmugam 



RS Ruba Shanmugam Syncfusion Team September 25, 2020 07:12 AM UTC

Hi Bruno,

Thanks for the update.

We are glad to know that you have been resolved the reported issue at your end. Please let us know if you need further assistance on this.

Regards,
Ruba Shanmugam

Loader.
Up arrow icon