我已经安装了Aritchie userdialogs第5版,我正在使用Xamarin.Forms版本2.2。 当我使用UserDialogs.Instance.ShowSuccess或UserDialogs.Instance.ShowError时,在Android上显示一个黑暗的背景,在iOS上不显示,当后面的页面大部分是白色时,这个警报消息非常难以理解。 在iOS上,我只是在屏幕中央显示消息和图标,但没有深色背景。
iOS上的示例代码: UserDialogs.Instance.ShowSuccess(“数据已正确保存”);
我该如何解决?
答案 0 :(得分:1)
ForceiOS6LookAndFeel
:BTProgressHUD
在您的:AppDelegate(AppDelegate.cs
)中:
using BigTed;
BTProgressHUD.ForceiOS6LookAndFeel = true;
方法FinishedLaunching
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
BTProgressHUD.ForceiOS6LookAndFeel = true;
global::Xamarin.Forms.Forms.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
Xamarin.Forms
的代码ShowSuccess
(或任何其他BTProgressHud
相关代码)中的任何调用都将默认为“旧版”样式。答案 1 :(得分:0)
是否可以使用Toast代替?你可以像这样设置背景:
ToastConfig.SuccessBackgroundColor = System.Drawing.Color.BurlyWood;
像这样创建它:
Toast(ToastEvent.Success)
或者您将不得不更改Acr.UserDialogs
使用的BTProgressHud设置。我通过在Acr.UserDialogs.iOS
UserDialogsImpl.cs
中设置这些值来管理它:
public override void ShowSuccess(string message, int timeoutMillis)
{
UIApplication.SharedApplication.InvokeOnMainThread(() =>
{
BTProgressHUD.ForceiOS6LookAndFeel = true; // This is the line you need
BTProgressHUD.ShowSuccessWithStatus(message, timeoutMillis);
});
}
它看起来像这样: