如何解决xamarin表单android自定义渲染器:覆盖两页
我正在尝试将两个xamarin页面彼此重叠,一个作为主要页面,另一个作为预览,可以根据需要进行扩展。类似于位于NavigationPage内容顶部的Spotify迷你播放器。
我有一个自定义页面渲染器,在其中创建子页面渲染器,将其添加到父级的子视图中然后进行布局,但是...子页面忽略布局,并且始终为全屏显示。
protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
{
base.OnElementChanged(e);
var renderer=Platform.GetRenderer((Element as RootPage)?.Mini);
if (renderer == null)
{
renderer= Platform.CreateRendererWithContext(MiniPage,Context);
Platform.SetRenderer(MiniPage,renderer);
}
renderer.View.RemoveFromParent();
_miniView=renderer.View;
AddView(_miniView);
_miniView.Layout(0,Height-400,Width,400);
}
protected override void OnLayout(bool changed,int l,int t,int r,int b)
{
base.OnLayout(changed,l,t,r,b);
_miniView?.Layout(0,Height);
}
此课程在iOS上正常工作...
我尝试嵌入页面而不是视图的唯一原因是,对Platform.CreateRenderer
的调用总是返回一个统一的视图,因为它不在父页面的可视树中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。