Toastを解説

今日は、トーストについて調べてみよう。画面にちょっとしたメッセージを表示したい場合に便利なようだ。下記の1行のコードを書くだけで、

 

Toast.makeText(MainActivity.this, "Hello!", Toast.LENGTH_SHORT).show();

  

 画面の下の方に Hello! の文字が出た。

f:id:ittokoton:20190226222415p:plain

 

■注意事項

 必ずLooperを持つスレッドで実行すること。

 

■第一引数

 Contextです。何のコンテキストでもいいみたいだけど、Toastの表示中に無くなったりしないコンテキストが望ましい。Android Studioでコーティングすると、勝手に、

 

自Activity名.this

 

というコードが入ったので、これが推奨と思われる。自分のアクティビティなら、アプリが終了するまで存続するので望ましい。

 

■第二引数

 出力する文字。何文字でもいけるのかな?

f:id:ittokoton:20190226225357p:plain

いけそうですw

 

■第三引数

Toastが表示されている時間を指定する。下記の時間が経過するとToastは勝手に消える。

・Toast.LENGTH_SHORT・・・体感で2秒くらい

・Toast.LENGTH_LONG・・・体感で4秒くらい

 

あと、きっと誰も使わないサンプルコードを貼っておきます。

一度表示したToast内のテキストを200ミリ毎に強引に書き換えてプチアニメーションを実現しましたw

"─" → "/" → "│" → "\" と連続で変化し、クルクル回ってる感を醸し出しました。

 

public class MainActivity extends AppCompatActivity {
Button btn1;
Handler handler;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
handler = new Handler();

btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { //クリックされた場合
final Toast t = Toast.makeText(MainActivity.this, "Hello!", Toast.LENGTH_LONG);
t.show();

int step = 200;
int time = 0;
for (int i = 0; i < 10; i++) {
handler.postDelayed(new Thread() {
public void run() { t.setText("━"); }}, time);
time +=step;

handler.postDelayed(new Thread() {
public void run() { t.setText("/"); }}, time);
time += step;

handler.postDelayed(new Thread() {
public void run() { t.setText("│"); }}, time);
time += step;

handler.postDelayed(new Thread() {
public void run() { t.setText("\"); }}, time);
time +=step;
}
}
});
}
}

 

---------------------------------------------------

ITとことん の目次
┗■Androidの調査結果(目次)
 ┗■本ページ