今回は、カレンダーアプリを作ってみることにした。
通常のカレンダーだと面白みがないので、
日をアラビア数字ではなく大字で表現して和風テーストを出してみることに。
背景(LinearLayout)には侍という字を画像にしたイメージを設定して、
その上にTableLayoutを載せる。
TableLayout上に横長にTableRowを敷き詰める。
さらにTableRow上にImageButtonを敷き詰めればカレンダーの下地となるマトリックスが完成する。
初期表示及び月切り替えイベント発生時、
GregorianCalendarから対象月のカレンダーを抽出して
それを元にImageButtonの背景画像を変更する。
日付が割り当てられない個所は、INVISIBLEに変更する。
アプリのデモ画面も同じ方式で画像を割り当てていく。
静止画を連続して表示する為、以下のようにThreadに処理を登録しておく。
final Runnable callback1 = new Runnable() {
@Override
public void run() {
//独自処理
demoClear();
}
};
・
・
・
final Handler handler = new Handler();
Thread thread = new Thread() {
@Override
public void run() {
try {
handler.post(callback1);
Thread.sleep(300);
handler.post(callback2);
Thread.sleep(200);
・
・
・
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();