¿Cómo muestro el texto en mi TextView con negrita y multicolor?

mi requisito es mostrar el texto en TextView en multicolor, como el color del arco iris y en negrita, ¿cómo puedo lograrlo? y necesito mostrarlos dinámicamente utilizando el código Java.

TextView text=new TextView(context);
                        text.setText(status);
                    text.setBackgroundResource(R.drawable.grd_btn);
                    text.setGravity(Gravity.CENTER);
                    text.setPadding(2, 0, 2, 0);
                    text.setTypeface(font2,Typeface.BOLD);
                    text.setTextColor(Color.WHITE);

Respuestas a la pregunta(3)

Su respuesta a la pregunta