Xamarin.Android
トースト
サーチ…
基本トーストメッセージ
まず、 MakeText()
メソッドの1つでToastオブジェクトをインスタンス化します。このメソッドは、アプリケーションContext
、テキストメッセージ、およびトーストの持続時間という3つのパラメータをとります。これは、適切に初期化されたToastオブジェクトを返します。次の例に示すように、 Show()
を使用してトースト通知をShow()
できます。
Context context = Application.Context;
string text = "Hello toast!";
ToastLength duration = ToastLength.Short;
var toast = Toast.MakeText(context, text, duration);
toast.Show();
この例は、ほとんどのトースト通知に必要なすべてを示しています。他にはほとんど必要がありません。しかし、トーストの位置を変えたり、簡単なテキストメッセージの代わりに独自のレイアウトを使用したりすることもできます。以下のセクションでは、これらのことを行う方法について説明します。
あなたのメソッドを連鎖させて、1ライナーとして呼び出し、次のようにトーストオブジェクトを保持しないようにすることもできます:
Toast.MakeText(Application.Context, "Hello toast!", ToastLength.Short).Show();
詳細については、トピックに関するより完全なAndroidドキュメントを参照してください。
トースト色のメッセージ
私たちはトーストが私たちに与えるビュー(ここで私はColorMatrixColorFilterを使用しています)にカラーフィルターを設定して、トーストメッセージの背景色を変更することができます:
Toast t = Toast.MakeText(context, message, duration);
Color c = */your color/*;
ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[]
{
0,0,0,0,c.R,
0,0,0,0,c.G,
0,0,0,0,c.B,
0,0,0,1,0
});
t.View.Background.SetColorFilter(CM);
t.Show();
また、背景が明るいまたは暗い場合は、テキストの色を変更することもできます。
if ((((float)(c.R) + (float)(c.G) + (float)(c.B)) / 3) >= 128)
t.View.FindViewById<TextView>(Android.Resource.Id.Message).SetTextColor(Color.Black);
else
//text color is white by default
トーストの位置を変更する
SetGravityメソッドを使ってトーストを変更することができます。このメソッドは、3つのパラメータをとります。最初はスクリーン上のトーストの重力で、2つは開始位置からオフセットされたトーストを設定します(最初のパラメータによって設定されます)。
//Toast at bottom left corner of screen
Toast t = Toast.MakeText(context, message, duration);
t.SetGravity(GravityFlags.Bottom | GravityFlags.Left, 0, 0);
t.Show();
//Toast at a custom position on screen
Toast t = Toast.MakeText(context, message, duration);
t.SetGravity(GravityFlags.Top | GravityFlags.Left, x, y);
t.Show();
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow