3

カスタム ボタンを作成しており、Drawable.setTintList を使用して、デフォルト、押された状態、および無効な状態の色を設定しています。
私は実際にボタンに境界線を追加したいと思っています。

val d = newGradientDrawableForShape()
d.setShape(GradientDrawable.RECTANGLE)

d.setColor(Color.WHITE)
d.setStroke(20, Color.GREEN) 

これでは境界線は表示されませんが、ティント リストを使用しないと境界線が表示されます。
setStroke と TintList を使用する方法はありますか?
d.setStroke(width, colorList) を試しましたが、うまくいきませんでした。

4

3 に答える 3

1

状態の例でドローアブルを使用できます:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="4dp" />
            <stroke android:width="10dp" android:color="#6699ff" />
        </shape>
    </item>

    <item>
        <shape android:shape="rectangle">
            <corners android:radius="4dp" />
            <stroke android:width="10dp" android:color="#669900" />
        </shape>
    </item>

</selector>

ここに画像の説明を入力

于 2018-10-01T18:41:50.640 に答える