首页 > 解决方案 > android:以编程方式创建具有状态的自定义形状

问题描述

如何在 Kotlin(或 java)中创建具有状态的形状,例如我想用 Kotlin(或 java)创建以下形状

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:state_pressed="true">
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <corners android:radius="999dp" />
        <stroke android:width="6dp" android:color="#bfbfbf" />
        <solid android:color="#f44336" />
    </shape>
</item>

<item android:state_pressed="true">
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <corners android:radius="999dp" />
        <stroke android:width="2dip" android:color="#E0E0E0" />
        <solid android:color="#f44336" />
    </shape>
</item>

<item android:state_checked="true">
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <corners android:radius="999dp" />
        <stroke android:width="2dip" android:color="#E0E0E0" />
        <solid android:color="#f44336" />
    </shape>
</item>

<item>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <corners android:radius="999dp" />
        <stroke android:width="6dp" android:color="#bfbfbf" />
        <solid android:color="#f44336" />
    </shape>
</item>

我看到了这个链接1和链接 2 ,但我想知道如何创建可绘制的状态

标签: androidkotlinandroid-drawableprogrammatically

解决方案


推荐阅读