如何删除 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
但要隐藏 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];
我制作了一个 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
但要隐藏 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];