Had a similar problem. Couldnt find anywhere the solution, only in libgdx irc channel. Huge thanks to jeffol on #libgdx @ freenode
So to change text colors the text outputted from Hiero (i used BMFont) should be white. This is done in export settings - you need to set higher bit depth, and then you can tinker with r g b values. What worked for me was the "outlined text with alpha" preset. Note that you set the outline not by drawing it into your font file, but in the font settings in BMFont.
Because this problem was bugging me so long, i actually quit several times while looking for a solution, i made a guide to solve this.
Here are the steps:
1)Take some font, note the outline thickness. The bigger you set the font size the more the outline thickness you should set.
2) Bit depth 32, preset - outline text with alpha. The settings become like this:
3) Press V to preview font, should look similar to this.
4) My code:
private static AssetManager asm = new AssetManager();
private static String fontPath = "font.fnt";
load() that is called at app startup:
font = asm.get(fontPath);
font = Assets.font;
font.setColor(1f, 1f, 1f, 1f); //you can probably also use (Color.WHITE)
font.draw(batch, score, camera.position.x-font.getBounds(score).width/2, 730);
//the x coord is adjusted depending on the text length,
//so for example the text is centered always
5) font in game works! :)