For a long time I tried to do exactly what you asked, and finally realized that a fairly simple solution would work (at least for me). Instead of using my own drawings and styles or trying to get undocumented system resources, I just reduce the opacity for a semi-defined state and restore transparency for a state with full control. For example, I do the following:
if (half_checked) checkBox.setAlpha(0.4f); else checkBox.setAlpha(1.0f);
This leads to the following: 
source share