RippleEffectをxmlで記述

RecyclerViewのアイテム選択時のRippleが思うようにならないのでxmlで書くことにした drawable-v21に以下を置き、drawableには以下のselector部分のみをコメントアウトを外して置いておけばいい
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:attr/colorAccent">
    <item android:id="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color="?android:attr/colorPressedHighlight"/>
        </shape>
    </item>
    <item>
        <selector xmlns:android="http://schemas.android.com/apk/res/android">
            <!--<item android:state_pressed="true">-->
                <!--<shape android:shape="rectangle">-->
                    <!--<solid android:color="@color/pressedColor" />-->
                    <!--<corners android:radius="@dimen/item_radius" />-->
                <!--</shape>-->
            <!--</item>-->
            <item
                android:state_enabled="true"
                android:state_focused="true">
                <shape android:shape="rectangle">
                    <solid android:color="@color/bgcolor" />
                    <corners android:radius="@dimen/item_radius" />
                </shape>
            </item>
        </selector>
    </item>
</ripple>

コメント

タイトルとURLをコピーしました