From the Southern Hemisphere

From the Southern Hemisphere

南半球に移住したプログラマの日々

【Android Studio】TextViewを点滅させる方法

こんにちは、ピコピコくんです。
今回はAndroidアプリの画面上でTextView(文字列)を点滅させる方法について書きました。

アプリのタイトル画面で「Tap to Start」みたいな文字が点滅している演出をよく見かけて、かっこよくて真似してみたいと思ったので実現する方法を調べました。

TextViewを点滅させる関数の実装

TextViewを点滅させるblinkText関数を実装します。

引数

blinkText関数に渡す引数は以下の通りです。

(1) txtView:点滅させる対象のtextView
(2) duration:文字を点滅させる間隔(ミリ秒)
(3) offset:文字の点滅を開始するタイミング(ミリ秒)

サンプルコード

Animationクラスのオブジェクト anm を作成して各種設定を行います。設定が完了したら対象TextViewのstartAnimationメソッドを呼び出すことで点滅が開始されます。

private void blinkText(TextView txtView, long duration, long offset){
Animation anm = new AlphaAnimation(0.0f, 1.0f);
anm.setDuration(duration);
anm.setStartOffset(offset);
anm.setRepeatMode(Animation.REVERSE);
anm.setRepeatCount(Animation.INFINITE);
txtView.startAnimation(anm);
}

関数を呼び出す

上で実装したblinkText関数をactivityクラスのonCreateで呼び出します。

パラメーターに”対象のTextView”、”点滅させる間隔”、”点滅開始までの時間”を設定します。サンプルでは点滅させる間隔に1000(ミリ秒)を設定しているので1秒間隔で対象のTextViewが点滅します。

※赤文字が対象箇所です。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_title);

txtView_start = findViewById(R.id.textView_start);
blinkText(txtView_start, 1000, 500);
}

以上がTextViewを点滅させる方法です。思っていたよりずっと簡単でした! 

読者さん募集中

記事が気に入ったら読者登録をお願いします!