【Android開発】画像で切り替えるボタンの実装

Pocket
reddit にシェア

Android開発で、ボタンのON/OFF切り替えを画像で行うことがあったのですが、かなり多くのやり方があり、手間取りました。
いろいろ試した結果、自分なりの答えが出たので残しておきます。

今回は、ImageButtonとToggleButtonの2つを使った実装方法を示しておきます。

  1. selectorの作成

最初にON/OFFの画像の状態を持つselectorを作成します。

android:state_selectedでON/OFFの状態を入れ替えます。
android:state_activeやandroid:state_pressedでも画像の切り替えはできるのですが、
押している状態との区別や、ImageButton/ToggleButtonとの兼ね合いで、
android:state_selectedを使用しました。

  1. ImageButtonの作成


ImageButtonの場合、srcにselectorを指定することで、画像を指定することができます。
android:background=”@android:color/transparent”で背景色を透明にしています。

  1. ToggleButtonの作成


ToggleButtonの場合、backgroundでselectorを指定します。
その際、ON/OFFの文字列に明示的に空文字を指定する必要があります。

  1. トグルの実装

最後にボタンのトグル機能の実装です。
実際にはアプリの実装要件に応じて、selectedにセットする値を変えてください。
今回は、単純に逆の値を入れる実装にしました。

今回のサンプルをgithubにおいておくので、興味のある方はどうぞ
https://github.com/akifumi/ToggleButtonSample

Android開発初心者ですが、頑張っていきます!

Pocket
reddit にシェア