リップルには次のコードがあります。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:id="@+id/rip">
<shape android:shape="oval">
<solid android:color="?android:colorAccent"/>
</shape>
</item>
</ripple>
ここで、ユーザーが独自の色を選択できるようにしたいので、プログラムでリップルを作成する必要があります。これ
を見つけて、これが正しい方法だと思いますが、これを処理する方法がわかりません。
波紋はここで使用されます。
<ImageButton
android:id="@+id/add_button"
android:layout_width="@dimen/diameter"
android:layout_height="@dimen/diameter"
android:layout_gravity="end|bottom"
android:layout_marginBottom="@dimen/add_button_margin"
android:layout_marginEnd="@dimen/add_button_margin"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:src="@drawable/ic_action_add_person"
android:tint="@android:color/white"
android:background="@drawable/oval_ripple"
android:elevation="@dimen/elevation_low"
android:stateListAnimator="@anim/button_elevation"
android:contentDescription="Neuer Spieler" />
背景を次のRippleDrawable
ように設定する必要があります。
addButton.setBackground(ripple);