Androidの年齢早見ソフトの今日ボタンは、何もデザインしておらず、浮いていたので気になっていた。
デザイナさんの時間ができたので、押された時のボタン画像と、通常時の画像を2枚用意して、綺麗な画像ボタンを表示するために、ソースの手直しをした。
簡単だろうと思っていたが、やり方を調べるのにかなり手間取ったので、ここにメモとして記載

時間がかかった敗因は、APIドキュメントから見ていき、ImageButtonクラスや、ToggleButtonクラス等を見て行ったりAPI Demoアプリを調べたり、Webでキーワード検索等をするなどの順で調べていったから、最終的に似たような事をしているアプリケーションのソースコードを見る事で解決した。

現状ドキュメントが整備されていないAndroid上でのアプリケーション開発では、似たような事をしているアプリケーションのソースコードを見て、その後APIドキュメントを参照するのが一番の近道という事をあらためて実感した。

以下ボタンの実装方法

ボタン通常画像と、ボタンを押した時の画像を2枚用意する。


drawable/today_button.png
drawable/today_button_pressed/png

xmlファイルを新規作成


drawable/today_button_stateful.xml

内容
上記の2枚の画像を指定


<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/today_button_pressed" />
<item android:drawable="@drawable/today_button" />
</selector>

ボタンに上記xmlを指定する。


<Button	android:id="@+id/todayButton"
android:background="@drawable/today_button_stateful"
android:layout_width="320px"
android:layout_height="50px"
android:text="Today"
  android:textColor="#ffffffff"
android:layout_marginTop="10px"
/>