Xamarin.AndroidでAndroidのトースト通知を利用してメッセージをポップアップ表示する
インターフェースの作成
共通プロジェクトにインターフェースを追加します(「追加」→「新しい項目」→「インターフェイス」)
namespace ToastTest
{
public interface IMessage
{
void Show(string message);
}
}
インターフェースの実装
Andridプロジェクトにクラスを追加する(using [プロジェクト名].Droid;を追加、[assembly: Xamarin.Forms.Dependency(typeof(クラス名))]を追加)
using Android.Widget;
using ToastTest.Droid;
[assembly: Xamarin.Forms.Dependency(typeof(ToastService))]
namespace ToastTest.Droid
{
public class ToastService:IMessage
{
public void Show(string message)
{
Toast.MakeText(Android.App.Application.Context, message, ToastLength.Short).Show();
}
}
}
トースト通知の出力
private void MenuItem_Clicked(object sender, EventArgs e)
{
string menuText = ((MenuItem)sender).Text;
DependencyService.Get<IMessage>().Show(menuText);
}