アナログ時計 Analog Clock


Android の UI にアナログ時計 AnalogClock がある。

レイアウトファイルに下記のように記述する。

<AnalogClock
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"/>

このクラス自体が Java で記述されています。
donut(v1.6) の android.widget.AnalogClock を移植した。
そのままコピーして、ユーザアプリとして、コンパイルを通るようにしたもの。

ソースコードは Google code に置いています。

時計の刻み
Android には、毎分0秒ちょうど を通知する仕組み ACTION_TIME_TICK が用意されています。
これを受け取って、分を刻んでいます。

時計の画面
下記のような3つの画像(文字盤、短針、長針)の組み合わせで出来ています。
他の画像を指定することも出来ます。

短針の描画は、下記のように回転させています。

canvas.rotate(mHour / 12.0f * 360.0f, x, y);

参考
Android Developers: AnalogClock


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です