我在Xamarin Forms中有兩頁使用自定義渲染器在每個頁面上顯示Android VideoView。第1頁上的視頻(嵌套在RelativeLayout內)成功播放。當我使用Navigation.PushAsync(Page2);
從第1頁導航到第2頁時,Page1中的VideoView繼續與第2頁上的視頻重疊。Android VideoView重疊
有沒有辦法強制VideoView尊重其父視圖容器的可見性?
的Page1.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyVideoApp.Page1">
<RelativeLayout>
<MyVideoView x:Name="vidPlayer" Source="http://...."
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}"
RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height}" />
</RelativeLayout>
</ContentPage>
Page2.xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyVideoApp.Page2">
<MyVideoView x:Name="vidPlayer" Source="http://...." />
</ContentPage>
我已經嘗試使用OnAppearing()和OnDisapearing()在Xamarin窗體頁面瀏覽到第二頁,但沒有成功,當玩家的知名度,設置爲false。 VideoView.setZOrderMediaOverlay(true)VideoView.setTranslationZ() VideoView.setZOrderOnTop()方法也不能解決問題。 – Adam
基於我發現的關於SurfaceView,聽起來像是在能見度回來時摧毀和創建它,這將是要走的路,但不知道這完全是什麼樣子。 – Adam