XMessageControl UIMessage 不适用于 monodroid
XMessageControl UIMessage not working on monodroid
我正在尝试更改通知在我的 Xamarin.forms 项目中的显示方式,并且在添加 Softweb.Controls.UIMessage 组件时,它不会显示消息或 toast。
UIMessage.ShowMessage ("Customization", "Hey! You Clicked on Button", MessageControl.MessageTypes.Warning, "red.png", Color.BrandRed, Color.Black, true, OnDissmissControl);
我 运行 这段代码来自依赖控制器,我想知道错误是否是由于没有正确的上下文引起的,但我看不到向 class 添加一个的方法。有没有人尝试在 Xamarin.forms 项目中使用这个组件? (这是 MonoDroid 特有的)。
答案,只需确保您 运行 在主线程上,它应该可以工作。如果图书馆有一些值得一看的文档,这会容易得多。
[assembly: Xamarin.Forms.Dependency (typeof (.Android.MessageBar))]
namespace .Android
{
public class MessageBar : IMessageBar
{
public MessageBar ()
{
}
public void Show(MessageType messageType, string title, string message)
{
var context = Forms.Context;
Device.BeginInvokeOnMainThread (() => {
//CustomToast customtoast=new CustomToast(context, messageType, title, message);
UIMessage.ShowMessage ("Customization", "Hey! You Clicked on Button", MessageControl.MessageTypes.Warning, "validation.png", Color.BrandRed, Color.Black, true, OnDissmissControl);
});
}
public void OnDissmissControl()
{
}
}
}
我正在尝试更改通知在我的 Xamarin.forms 项目中的显示方式,并且在添加 Softweb.Controls.UIMessage 组件时,它不会显示消息或 toast。
UIMessage.ShowMessage ("Customization", "Hey! You Clicked on Button", MessageControl.MessageTypes.Warning, "red.png", Color.BrandRed, Color.Black, true, OnDissmissControl);
我 运行 这段代码来自依赖控制器,我想知道错误是否是由于没有正确的上下文引起的,但我看不到向 class 添加一个的方法。有没有人尝试在 Xamarin.forms 项目中使用这个组件? (这是 MonoDroid 特有的)。
答案,只需确保您 运行 在主线程上,它应该可以工作。如果图书馆有一些值得一看的文档,这会容易得多。
[assembly: Xamarin.Forms.Dependency (typeof (.Android.MessageBar))]
namespace .Android
{
public class MessageBar : IMessageBar
{
public MessageBar ()
{
}
public void Show(MessageType messageType, string title, string message)
{
var context = Forms.Context;
Device.BeginInvokeOnMainThread (() => {
//CustomToast customtoast=new CustomToast(context, messageType, title, message);
UIMessage.ShowMessage ("Customization", "Hey! You Clicked on Button", MessageControl.MessageTypes.Warning, "validation.png", Color.BrandRed, Color.Black, true, OnDissmissControl);
});
}
public void OnDissmissControl()
{
}
}
}