Estoy tratando de asignar un selector de color a una clase extendida de LinearLayout, así que, creo que es como si hablamos de linearLayout.Color de selector en LinearLayout
seguí las instrucciones en la publicación this, la respuesta habla de formas.
ahora tengo 3 xml en dibujables carpetas:
archivo normal.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#ffffffff" />
</shape>
archivo pressed.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#00000000" />
</shape>
y, finalmente, el archivo bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/pressed" />
<item android:state_focused="true" android:drawable="@drawable/pressed" />
<item android:state_selected="true" android:drawable="@drawable/pressed" />
<item android:drawable="@drawable/normal" />
</selector>
Estoy accediendo esto de la siguiente manera:
Drawable d = getResources().getDrawable(context.getResources().getIdentifier("mypackageuri.tProject:drawable/bg", null, null));
view.setBackgroundDrawable(d);
El "normal" manifestar su bien, con el color establecido en "normal.xml", pero de ninguna manera con los demás, prosigo mi punto de vista y no pasa nada, no es el cambio de color de cualquier manera ...
no puedo ver lo que estoy haciendo mal ...
Gracias
puede ser que desee para pegar su diseño xml – azharb
Whoa que tiene que ser la forma más indirecta de conseguir un recurso estirable. . En lugar de 'getResources() getDrawable (context.getResources() getIdentifier (" mypackageuri.tProject: dibujable/bg", null, null));' tratar 'getResources() getDrawable (R.. drawable.bg); '. A menos que me esté perdiendo algo. – dmon
@dmon buen punto, lo intentaré también! ¡¡Gracias!! – Deitools