My Android App is an Open GL ES 2.0 App. For one particular scene, I am overlaying a few textViews on top of my GL Surfaceview along with the some OpenGL textured quads.
I need one of my textViews to 'flash' - I'm targeting Gingerbread, therefore, I can't use animations, so I've created a method which does this:
public void flashText(){        
    if(myText.getVisibility()==View.VISIBLE)
        myText.setVisibility(View.GONE);
    else
        myText.setVisibility(View.VISIBLE);     
}
Then, from my OpenGL thread, I do the following:
void updateLogic(
        if (System.currentTimeMillis()>(flashTimer+250)){
            flashTimer=System.currentTimeMillis();              
              activity.runOnUiThread(new Runnable() {
                  @Override
                  public void run() {
                      activity.flashText();
            }
        });
    }
}
The above method (updateLogic) is called 60 times a second. The timer is set to 250ms, so I get a 'flashing' animation 4 times a second, - or 4 times a second, FlashText is called via runOnUiThread.
This does work, however, it affects the animation of my openGL objects enough for it to be a problem.
My question is, is there a better way to do this? (because the method I'm using is clearly not efficient enough).
