You can do this programmatically, even change the color as you want, by following the solution in the linked question you mention, plus adding a ColorFilter
to adjust the color.
So:
- Create the appropriate drawable. The easiest way, as mentioned in one of the answers, is using https://jgilfelt.github.io/android-actionbarstylegenerator/
- Place into your project the
tab_indicator_ab_example.xml
(in drawable) plus the 6 associated png files (tab_*.png) for each drawable density.
- After creating the tabs, use the code that iterates over the
TabWidget
child views to set their background, however:
- Instead of setting the drawable as-is, use a color filter to change its color to the desired one.
Instead of this code:
for(int i = 0; i < widget.getChildCount(); i++) {
... /* same as before */
v.setBackgroundResource(R.drawable.your_tab_selector_drawable);
}
write something like this:
for(int i = 0; i < widget.getChildCount(); i++) {
... /* same as before */
Drawable d = getResources().getDrawable(R.drawable.tab_indicator_ab_example);
d.setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_IN);
v.setBackgroundDrawable(d);
}