I have this resource file for colors
#00f
#f00
setBackgroundResource is expecting a drawable, not a color. You want setBackgroundColor.
Also, your colors should have at least 6 digits, #RRGGBB
I.e., for blue: #0000FF
I think what you have might be equivalent to #00000F, which is close to black...
And finally, you should never sleep in the UI thread (or change UI items not in the UI thread). See Painless Threading for a number of different ways of using other threads. I think that postDelayed might be what you are looking for.
We were trying to implement the tab like functionality using just plain buttons in Android. I was unsuccessful to obtain the right behavior using the XML- must be doing something wrong. For instance, I could get the button color to change to yellow as long as the button was pressed, but it would go back to original color when left.
Finally, I could achieve the desired behavior by using following code in the click event handler for each of the tab buttons. Hope this helps someone having similar issue as me.
// Get Handle for the Tab buttons
Button btnTab1 = (Button) findViewById(R.id.button_tab1);
Button btnTab2 = (Button) findViewById(R.id.button_tab1);
// set the colors correctly
btnTab1.setBackgroundResource(color.lightblue);
btnTab2.setBackgroundResource(color.darkblue);
You could use an xml file like one below, to create states for your button.
The info about attributes available is here. You simply copy this xml file to your drawables folder in your project, name it for example custom_button.xml, and reference it in your layout with
android:background="@drawable/custom_button"
Here is xml file...
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape android:shape="rectangle">
<solid
android:color="#00ff00" />
<stroke
android:width="5dp"
android:color="#ff0000"
android:dashWidth="3dp"
android:dashGap="2dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="#ffffff"
android:centerColor="#ffffff"
android:startColor="#ffffff"
android:angle="270" />
<stroke
android:width="3dp"
android:color="#00ff00" />
<corners
android:radius="5dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="#ffffff"
android:centerColor="#ffffff"
android:startColor="#ffffff"
android:angle="270" />
<stroke
android:width="5dp"
android:color="#00ff00" />
<corners
android:radius="5dp" />
</shape>
</item>