Hola!

Sigo con la serie de posts sobre trabajo con Surface Dial. En el post anterior describí como crear un menú con 3 opciones que se activan en el Surface Dial.

Si nuestra App necesita varios menús, una de las opciones que tal vez necesitemos tener en cuenta, es la de deshabilitar las opciones que por defecto muestra el Surface Dial. Si no necesitamos scroll vertical, o no necesitamos acciones de Undo/Redo, puede ser conveniente eliminar las mismas del menú radial.

La siguiente imagen muestra el menú por defecto que se muestra en la vista de mapas del ejemplo con el que estamos trabajando. En el mismo podemos ver las opciones por defecto y que el 6to elemento es un menú personalizado.

I1

Accendiendo a RadialControllerConfiguration podremos controlar los elementos del menu. La siguiente imagen muestra un menú con solo los elementos de nuestra App.

I3

Esto lo conseguimos con el siguiente código.


var controller = RadialController.CreateForCurrentView();
controller.RotationResolutionInDegrees = 0.2;
controller.UseAutomaticHapticFeedback = false;
var mapZoomItem = RadialControllerMenuItem.CreateFromFontGlyph("El Bruno – Maps Zoom", "\xE128", "Segoe MDL2 Assets");
var mapRotationItem = RadialControllerMenuItem.CreateFromFontGlyph("El Bruno – Map Rotation", "\xE128", "Segoe MDL2 Assets");
var disableDialItem = RadialControllerMenuItem.CreateFromFontGlyph("El Bruno – Disable Dial", "\xE128", "Segoe MDL2 Assets");
controller.Menu.Items.Add(mapZoomItem);
controller.Menu.Items.Add(mapRotationItem);
controller.Menu.Items.Add(disableDialItem);
var surfaceDialConfiguration = RadialControllerConfiguration.GetForCurrentView();
surfaceDialConfiguration.SetDefaultMenuItems(new List<RadialControllerSystemMenuItemKind>{});
// Add 2 default system buttons
//surfaceDialConfiguration.SetDefaultMenuItems(new[] {
// RadialControllerSystemMenuItemKind.Volume,
// RadialControllerSystemMenuItemKind.NextPreviousTrack
//});

Y si cambiamos las líneas comentadas (15 to 19) podremos dejar en nuestro menú 2 opciones de sistema [Volumen] y [Next Previous Track]; y las opciones que agregamos por código.

I2

Source Code en GitHub

Happy Coding !!!

Saludos @ Toronto

El Bruno

References

Leave a comment

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading