読者です 読者をやめる 読者になる 読者になる

16bit!

エンジニアじゃなくなっちゃった人が何かを書くブログ

【Android】1秒間隔で文字を点滅させる方法

下記はアプリのタイトル画面などで"Tap Screen"みたいな文字列を1秒間隔で点滅させる方法。
TextView自体の表示非表示を切り替えているのではなく、文字列を空にしているだけなのが微妙に嫌な感じですが、
とりあえずうまくはいく、と思う。

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

    //Timerのセット
    tapScreenTextView = (TextView) findViewById(R.id.tv_tap_screen);
    init();
}

private void init() {
    Timer timer = new Timer(true);
    final android.os.Handler handler = new android.os.Handler();
    timer.schedule(
    	new TimerTask() {
    		@Override
    		public void run() {
    			handler.post( new Runnable(){
    				public void run(){
    					isDisp = !isDisp;
              
    					//TextViewの表示を切り替える
    					if (isDisp) {
    						tapScreenTextView.setText("Tap Screen");
    					} else {
    						tapScreenTextView.setText("");
    					}
    				}
    			});
    		}
    	}
    	, 0, 500   //開始遅延(何ミリ秒後に開始するか)と、周期(何ミリ秒ごとに実行するか)
    );
}

おわり。