サーチ…


基本トーストメッセージ

まず、 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