Android: Cómo cambiar android: fillcolor con selector en un Vector Drawable xml

Iconos de pestañas: mi método actual es crear dos archivos (ic_list_selected_24dp.xml e ic_list_unselected_24dp.xml; son básicamente iguales pero solo elandroid:fillColor='Color HEX CODE' son diferentes), y luego cree un selector (selector_tabitem_list.xml) para cambiar el color dibujable cuando se cambia el estado.

// @drawable/selector_tabitem_list.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:drawable="@drawable/ic_list_selected_24dp" 
        android:state_selected="true" />
    <item android:drawable="@drawable/ic_list_unselected_24dp" 
        android:state_selected="false" />
</selector>

Está algo duplicado porque dos elementos dibujables son iguales.

El selector no puede usarse en vectores dibujables.

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
    <path
        android:fillColor="@drawable/selector"
        android:pathData="M19,3...."
</vector>

-

// @drawable/selector

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <color android:color="@color/itemSelected" />
    </item>
    <item android:state_selected="false">
        <color android:color="@color/itemUnselected" />
    </item>
</selector>

yandroid:fillColor="@color/state" ya sea.

// @color/state

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@android:color/white" android:state_selected="true" />
    <item android:color="@android:color/black" android:state_selected="false" />
</selector>

¿Hay alguna manera de usar un dibujable y cambiar su color dinámicamente? Usar código hexadecimal duro es mejor?

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta