12
12

More than 5 years have passed since last update.

ImageViewで2つの状態の画像を切り替える

Posted at

前置き

iOSでは imageとhightlightedImageの2種類を設定できて、2ステートの画像を切り替えるのが簡単だ。
Androidでのやりかたがぴんとこなかったのでメモ

selector作成

selectorを作成する.
たとえば、something_default.pngsomething_selected.png がある場合は以下のように設定する。

drawable/something_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/something_default" android:state_selected="true" />
    <item android:drawable="@drawable/something_selected" android:state_selected="false" />
</selector>

これをImageViewに設定する

<ImageView
    android:id="@+id/something"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/something_selector" />

好きなようにコードで状態を変化させればOK

ImageView view = findViewById(R.id.something);
view.setSelected(true); // -> something_selected.pngに切り替わる
view.setSelected(false); // -> something_default.pngに切り替わる
12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12