¿La mejor manera de mostrar un indicador de carga / progreso?

¿Cuál es la mejor manera de mostrar un control de carga mientras la aplicación está esperando una respuesta del servidor?

¿Se puede hacer esto programáticamente? ¿Para que no tenga que agregar el spinner de carga en el archivo xml?