2012年05月18日

Chronometerを使ったカウントアップタイマー


Chronometerクラスを使うことで簡単にカウントアップタイマーを実装することができます
Chronometerをレイアウトに配置しidを指定するだけで簡単にstart・stop・clearが行えます
まずはlayoutのmain.xmlにChronometerを配置します
ついでにstart・stop・clearボタンを配置しておきます
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >

    <Chronometer
        android:id="@+id/chronometer1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Chronometer" />


    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="start" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="stop" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="clear" />
    
</LinearLayout>

つぎにMainActivity.javaの変更です
Chronometerのidを指定しカウント開始と停止は
start()メソッドとstop()メソッドを呼び出すだけです
MainActivity.java
package blog.test;
 
import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
 
public class MainActivity extends Activity {
	Chronometer mChronometer;
	Button start,stop,clear;

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

	    
	    mChronometer = (Chronometer) findViewById(R.id.chronometer1);
	    start =(Button)findViewById(R.id.button1);
	    stop =(Button)findViewById(R.id.button2);
	    clear =(Button)findViewById(R.id.button3);
	    
	    
	    
	    start.setOnClickListener(new View.OnClickListener() {
	        public void onClick(View v) {
	        	//カウントアップスタート
	        	mChronometer.start();
	        }
	    });
	    

	    stop.setOnClickListener(new OnClickListener(){
	        public void onClick(View v) {
	        	// カウントアップストップ
	        	mChronometer.stop();
	        }
	    });
	    
	    clear.setOnClickListener(new OnClickListener(){
	        public void onClick(View v) {
	        	// カウントクリア
	        	mChronometer.setBase(SystemClock.elapsedRealtime());
	        }
	    });
	}	
	

}
実行した初期画面は次のようになります
device111.png
startボタンを押すとカウントアップが始まります
device112.png

stopボタンで一時停止、clearボタンでカウントが0になります

スポンサードリンク

posted by kenken at 16:23 | Comment(0) | TrackBack(0) | タイマー カウントアップ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/270534194
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。