首页 > 解决方案 > 我想在全屏的 SKCanvasView 上方放置一个按钮

问题描述

使用 SKCanvasView 显示(全屏)图像。我想在那里放按钮之类的控件,但是在启动时会显示,但是在显示图像时它会消失。!

在此处输入图像描述

标签: c#xamarinxamarin.androidmapsskiasharp

解决方案


您可以使用绝对布局来布局控件:

public TileAlignmentPage()
{
    Title = "Tile Alignment";
    var layout = new AbsoluteLayout();

    SKCanvasView canvasView = new SKCanvasView();
    canvasView.PaintSurface += OnCanvasViewPaintSurface;
    ...
    AbsoluteLayout.SetLayoutBounds(canvasView, new Rectangle(0, 0, 1, 1));
    AbsoluteLayout.SetLayoutFlags(canvasView, AbsoluteLayoutFlags.All);

    Button clear_button = new Button { Text = "-" };
    ...
    AbsoluteLayout.SetLayoutBounds(clear_button, new Rectangle(0.5, 0.45, 250, 50));
    AbsoluteLayout.SetLayoutFlags(clear_button, AbsoluteLayoutFlags.PositionProportional);

    Button update_button = new Button { Text = "+" };
    ...
    AbsoluteLayout.SetLayoutBounds(update_button, new Rectangle(0.5, 0.55, 250, 50));
    AbsoluteLayout.SetLayoutFlags(update_button, AbsoluteLayoutFlags.PositionProportional);

    layout.Children.Add(canvasView);
    layout.Children.Add(clear_button);
    layout.Children.Add(update_button);
    Content = layout;
}

推荐阅读