0
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item>
<selector>
<item android:state_selected="true">
<layer-list>
<item android:left="-5dp"
android:top="-5dp"
android:right="-5dp">
<shape android:shape="rectangle">
<stroke android:width="3dp"
android:color="@android:color/white"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</layer-list>
</item>
<item android:state_selected="false">
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</selector>
</item>
</ripple>
は、ここに私のリップル描画可能であると私はstate_selected、ソリッド色を変更したいです。リップルドロアブルのソリッドカラーを変更するにはどうすればよいですか?
コード私が試してみた:
RippleDrawable rippleDrawable = (RippleDrawable) textView.getBackground(); // assumes bg is a RippleDrawable
int[][] states = new int[][]{new int[]{android.R.attr.state_selected}};
int[] colors = new int[]{R.color.white};
ColorStateList colorStateList = new ColorStateList(states, colors);
rippleDrawable.setColor(colorStateList);
unfortuantelyそれは...これが可能私が行方不明ですし、ある動作しませんか?
HTTPの
を適用しています。 com/questions/26967872/create-a-ripple-drawable-without-transparencyマスクを使用します。 – reidisaki