问题描述
从图中可以看出,在后面的代码中生成的内容对象的视觉控制没有重叠。
我在 Xamarin 表单 C# 中使用 FrozenMountain SDK。想法是使用现有的视频流并在将重叠视频流的独立视觉控制中绘制圆圈作为独立对象。但是,我使用的 SDK 中的页面包含 ContentPage 作为显示单个视图的元素。代码后面,包含支持标记的内容对象。而且,在这个 ContentPage 中有 AbsoluteLayout,它在后面的代码中充当内容对象。请看xaml代码:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:Chat"
x:Class="Chat.Video"
x:Name="page" >
<AbsoluteLayout Margin="20">
<Label Text="Stylish Header"
FontSize="24"
AbsoluteLayout.LayoutBounds="30,25" />
<BoxView Color="Aqua" BackgroundColor="Transparent" Opacity="0.7" AbsoluteLayout.LayoutBounds="0.5,0.1,100,100" AbsoluteLayout.LayoutFlags="PositionProportional" />
<Button Text="Start" BackgroundColor="Blue" TextColor="White" AbsoluteLayout.LayoutBounds="0,1,50" AbsoluteLayout.LayoutFlags="PositionProportional,WidthProportional" />
</AbsoluteLayout>
和背后的代码:
public Future<FM.LiveSwitch.LocalMedia> StartLocalMedia(Android.Content.Context context,Xamarin.Forms.AbsoluteLayout container)
{
return _CertificatePromise.Then((cert) =>
{
_Certificate = cert;
dispatchToMainThread(() => {
// Set up the layout manager.
_LayoutManager = new XamarinLayoutManager(container);
});
Xamarin.Forms.View localView;
if (ReceiveOnly)
{
return Promise<FM.LiveSwitch.LocalMedia>.ResolveNow<FM.LiveSwitch.LocalMedia>(null);
}
else
{
// Set up the local media.
if (!EnableScreenShare)
{
localView = new FMView(((LocalCameraMedia)_LocalMedia).GetView());
if (!AudioOnly)
{
// Set up the list of video source inputs
_LocalMedia.GetVideoSourceInputs().Then((inputs) =>
{
foreach(SourceInput input in inputs)
{
Chat.Instance.toolbaritems.Add( new ToolbarItem(input.ToString(),null,() =>
{
_LocalMedia.VideoTrack.source.ChangeInput(input);
},ToolbarItemOrder.Secondary));
}
});
}
}
else
{
localView = new FMView(((LocalScreenMedia)_LocalMedia).View);
}
// Add the local preview to the layout.
if (localView != null)
{
dispatchToMainThread(() => {
_LayoutManager.SetLocalView(localView);
});
}
InitLocalmaps("LocalView",_LocalMedia.VideoEncodings);
// Start the local media.
return _LocalMedia.Start();
}
});
}
由于标记是动态的,我如何在视频流上重叠 BoxView 甚至简单的 textView,即如何在 Xamarin 表单中动态生成的内容对象中修复 Z 索引?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)