我已经创建了下面的渲染,以获得坐标。
我得到了X坐标值,但Y坐标值始终为0。
public class ContextMenuButtonRenderer : ButtonRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
if (Element is ContextMenuButton contextButton)
{
contextButton.GetCoordinates = GetCoordinatesNative;
}
}
private (int x, int y) GetCoordinatesNative()
{
return ((int)Frame.Left, (int)Frame.Top);
}
}
如何获得Y坐标值?
1条答案
按热度按时间eagi6jfj1#
Xamarin.Froms.
AbsoluteLayout
中有一个比较简单的方法,可以指定位置和下级,在添加按钮时可以确定按钮的坐标位置,如下:有关详细信息,请参阅文档:Xamarin.Forms AbsoluteLayout
更新:Xamarin中的Touch Effects,Forms可以获取触摸坐标,我测试了官方样例可以正常获取,可以参考样例iOS部分
TouchRecognizer
类中的FireEvent
事件TouchTrackingEffect Code,将触摸位置转换为点值,关于Touch Effects的更多细节,可以查看官方文档:Invoking Events from Effects