Criar um progresso drawable programaticamente

Eu tenho um cenário onde eu preciso ter um grande número de drawables da barra de progresso. Eu não posso criar recursos xml para todos eles porque eu quero que o usuário escolha uma cor que será usada para criar dinamicamente o drawable. Abaixo está um desses drawable em xml, como posso criar exatamente este drawable programaticamente?

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
    <shape>
        <solid android:color="@color/transparent" />
        <stroke android:width="2px" android:color="@color/category_blue_stroke"/>
    </shape>
</item>


<item android:id="@android:id/progress">
<clip>
    <shape>
        <solid android:color="@color/category_blue" />
        <stroke android:width="2px" android:color="@color/category_blue_stroke"/>
    </shape>
</clip>
</item>

</layer-list>

questionAnswers(1)

yourAnswerToTheQuestion