簡體   English   中英

如何在Xamarin Forms上刪除卷HUD?

[英]How to remove volume HUD on Xamarin Forms?

我做了一個customrenderer來在xamarin.forms應用程序內部渲染MPVolumeView。 每當我調節音量時,都會在屏幕上看到這個大系統HUD,從而阻止了屏幕上的內容。 看起來像這樣: 在此處輸入圖片說明

我該如何刪除? 這是我的自定義渲染器:

public class AudioOutputViewRenderer : ViewRenderer<AudioOutputView, UIView>
{
    MPVolumeView view;

    protected override void OnElementChanged(ElementChangedEventArgs<AudioOutputView> e)
    {
        base.OnElementChanged(e);

        TintColor = UIColor.FromRGB(54, 66, 94);

        if (Control == null)
        {
            view = new MPVolumeView()
            {
                ShowsRouteButton = false,
                ShowsVolumeSlider = true

            };

            SetNativeControl(view);
        }
    }
}

我不明白AudioOutputViewRenderer的AudioOutputViewRenderer

但是要隱藏MPVolumeView您需要下一步:

在您的IosProject-> AppDelegate >方法FinishedLaunching添加下一個代碼

        var volumeView = new MPVolumeView(new CGRect(-1000,0,0,0));// -1000 will hide your view  from user 
        volumeView.ClipsToBounds = true;
        var slider = volumeView.Subviews.First(x => x is UISlider) as UISlider;
        UIApplication.SharedApplication.KeyWindow.RootViewController.View.AddSubview(volumeView);

之后您可以使用var slider更改音量

        slider.Value = [your vlm]; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM