アプリ開発初心者の暇つぶしAndroid体験記

アプリ開発初心者がAndroidアプリ開発始めました。日々学んだことをアウトプットしていきます。

drawableリソースのselecterについてまとめてみた

今回は画面の見た目について記事にしていきます。

drawableリソースのselecterというものが興味深かったので今回の題材にします。
それではどうぞ!

selecterとは

このselecterを使うことによって、
そのパーツの状態によってデザインを変えることができるようになります。
例えば、カーソルがあたった時や、クリックされた時です。

どんな状態の時に変えられる?

代表的なものをあげるとこのような状態の時に変えることができます。

これらの状態の時にそれぞれ色や形をかえることができます。

設定方法は?

では実際に設定する方法を見ていきます。
まずはdrawableリソースを書いていきます。

[button_layout.xml]

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid android:color="#ff7f50" />
        </shape>
    </item>

    <item android:state_focused="true" >
        <shape>
            <solid android:color="#000080" />
        </shape>
    </item>

    <item>
        <shape>
            <solid android:color="#a9a9a9" />
        </shape>
    </item>
</selector>

itemタグのstate_XXXX属性がそれぞれどの状態であるかを指しています。
上から、クリック時、フォーカス時、デフォルトです。

作成したファイルをlayoutに適応させます。

[activity_main.xml]

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:background="@drawable/button_layout"/>

動作確認

実装したアプリを動かしてみます。

  • デフォルト時

f:id:mtnanao:20200303145509p:plain

  • クリック時

f:id:mtnanao:20200303145331p:plain

  • フォーカス時

f:id:mtnanao:20200303145320p:plain


button_layout.xmlに定義した内容に合わせて色が変わっていくのが分かりますね。


それではselecterに関するまとめは以上です。
お疲れさまでした!!



最後にアプリの宣伝させてください(*^-^*)

play.google.com