Xamarin 表格 : Toast Notification in Android & IOS

标签 xamarin xamarin.ios xamarin.android toast

您好,我正在使用 PCL 项目以 xamarin 形式创建应用程序。我想在两次后按时实现 Toast 通知,仅适用于 android 和 ios。对于我尝试过的 android -

long doublePressInterval_ms = 300;
DateTime lastPressTime = DateTime.MinValue;
DateTime pressTime = DateTime.Now;

        if ((pressTime - lastPressTime).TotalMilliseconds <= doublePressInterval_ms)
        {
            if(Device.OS == TargetPlatform.Android)
            {

                Java.Lang.JavaSystem.Exit(0);
            }
        }
        else
        {

           Android.Widget.Toast.MakeText(this, string_name, ToastLength.Long).Show();
        }
        lastPressTime = pressTime;
        return false;

但它显示错误无法将页面转换为 Android 上下文。如何在我的 pcl 项目中获取 adnroid 上下文?

我试过 Toast Notification Plugin for Xamarin但它说.Net版本不兼容。

enter image description here

最佳答案

在 Xamarin Android 中,您可以像往常一样显示

Toast.MakeText(this,"toast message", ToastLength.Long).Show();

在 Xamarin iOS 中,您必须使用自定义设计的 UIView 和动画来实现相同的效果

public void ShowToast(String message, UIView view)
{
    UIView residualView = view.ViewWithTag(1989);
    if (residualView != null)
        residualView.RemoveFromSuperview();

    var viewBack = new UIView(new CoreGraphics.CGRect(83, 0, 300, 100));
    viewBack.BackgroundColor = UIColor.Black;
    viewBack.Tag = 1989;
    UILabel lblMsg = new UILabel(new CoreGraphics.CGRect(0, 20, 300, 60));
    lblMsg.Lines = 2;
    lblMsg.Text = message;
    lblMsg.TextColor = UIColor.White;
    lblMsg.TextAlignment = UITextAlignment.Center;
    viewBack.Center = view.Center;
    viewBack.AddSubview(lblMsg);
    view.AddSubview(viewBack);
    roundtheCorner(viewBack);
    UIView.BeginAnimations("Toast");
    UIView.SetAnimationDuration(3.0f);
    viewBack.Alpha = 0.0f;
    UIView.CommitAnimations();
}

关于Xamarin 表格 : Toast Notification in Android & IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42082807/

相关文章:

xamarin - 应用程序在 xamarin 中的 ios 设备中启动后终止

xamarin.ios - 如何将库添加到Xamarin引用列表

android - 类人机器人 Steema.TeeChart.TChart : how to disable user interaction

android - 如何从 xamarin.android mono 中的弹出窗口以编程方式打开移动数据?

android - 找不到引用的组件 'Xamarin.Android.Support.v7.AppCompat' Xamarin.Android

xamarin - 如何在 Xamarin.Forms 中创建永无止境的后台服务?

Xamarin thrift pcl 实现

xaml - Xamarin 表单 - 对 ObservableCollection 的更改不会更新 View

ios - 理解 subview.center = view.center 是如何工作的以及为什么 getter 和 setter 做不同的事情

ios - 如何在 xamarin ios 中有 float 标签文本框