Toastを解説
今日は、トーストについて調べてみよう。画面にちょっとしたメッセージを表示したい場合に便利なようだ。下記の1行のコードを書くだけで、
Toast.makeText(MainActivity.this, "Hello!", Toast.LENGTH_SHORT).show();
画面の下の方に Hello! の文字が出た。
■注意事項
必ずLooperを持つスレッドで実行すること。
■第一引数
Contextです。何のコンテキストでもいいみたいだけど、Toastの表示中に無くなったりしないコンテキストが望ましい。Android Studioでコーティングすると、勝手に、
自Activity名.this
というコードが入ったので、これが推奨と思われる。自分のアクティビティなら、アプリが終了するまで存続するので望ましい。
■第二引数
出力する文字。何文字でもいけるのかな?
いけそうです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の調査結果(目次)
┗■本ページ