Copied from here: http://stackoverflow.com/questions/15733442/drawing-filled-polygon-with-libgdxhttps://stackoverflow.com/questions/15733442/drawing-filled-polygon-with-libgdx
Basically, you define a PolygonSpriteBatch using a PolygonSprite and a PolygonRegion:
PolygonSprite poly;
PolygonSpriteBatch polyBatch;
Texture textureSolid;
You then create them like this, giving the region a texture and the 4 corners coordinates (for the texture, you can load a plain solid colored texture, gray or red in your case):
PolygonRegion polyReg = new PolygonRegion(new TextureRegion(textureSolid),
new float[] {
x1, y1,
x2, y2,
x3, y3,
x4, y4
});
poly = new PolygonSprite(polyReg);
poly.setOrigin(oX, oY);
polyBatch = new PolygonSpriteBatch();
And draw it like this:
polyBatch.begin();
poly.draw(polyBatch);
polyBatch.end();
Hope I helped!