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

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開発初心者ですが、頑張っていきます!

iPhone7を待たずに手に入れる方法

Apple Storeで予約すると2〜3週間待ちのiPhone7 32GB(一番安くて、一番手に入れづらい)モデルがどうしても欲しくなった。 前日の夜に思いつき、次の日には手に入れる方法があったので、共有しちゃいます!

iPhoneには当日予約というものが! https://reserve.cdn-apple.com/JP/ja_JP/reserve/iPhone/availability?channel=1 Apple公式のものです

毎朝8時に店舗の在庫状況が更新されます。 一番手に入りづらい32GBのモデルでしたが、当日予約できちゃいました。 時間指定で予約できるため、並ぶ必要もありません!

どうしても新しいiPhoneが欲しいという方は試してみては