Android ActionBar setActionView problema de layout

Eu tenho tentado usar o setActionView do ActionBar no ICS

Parece que deve ser direto, mas de alguma forma eu não estou recebendo o alinhamento de layout que eu esperaria. Como você pode ver na imagem abaixo, o ícone "alvo" está centrado corretamente em seu layout. Mas quando eu setActionBar (progresso) a visão de progresso é sempre alinhada à direita, qualquer que eu tente.

Aqui estão os dois estados, antes e depois de clicar no item de menu. Como você pode ver, a visualização de progresso está sempre alinhada à direita. Eu tentei alterar as opções de gravidade no xml do layout do meu progresso da esquerda para a direita para o centro e o que quer que eu faça, não parece mudar nada.

Eu não encontrei nenhuma informação sobre este problema, então estou pensando que devo estar fazendo algo errado.

Alguém tem uma pista? Obrigado pela ajuda!

Aqui está o layout do menu da barra de ação 'action_bar_menu.xml'

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/locate"
          android:title="locate"
          android:icon="@drawable/locate"
          android:showAsAction="ifRoom|withText" />
</menu>

Aqui está o meu layout da barra de progresso 'inderterminate_progress.xml'

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:gravity="center">

    <ProgressBar android:layout_width="25dp"
                 android:layout_height="25dp"
                 android:layout_gravity="center"
                 android:indeterminate="true"
                 style="?android:attr/progressBarStyleInverse"/>
</FrameLayout>

E finalmente aqui está minha atividade testx

public class HelloAndroidActivity extends Activity {

    /**
     * Called when the activity is first created.
     * @param savedInstanceState If the activity is being re-initialized after
     * previously being shut down then this Bundle contains the data it most
     * recently supplied in onSaveInstanceState(Bundle). <b>Note: Otherwise it is null.</b>
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        getActionBar().setTitle("Test");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.action_bar_menu, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);


        if (R.id.locate == item.getItemId()) {

            final MenuItem menuItem = item.setActionView(R.layout.inderterminate_progress);

            new Thread(new Runnable() {
                @Override
                public void run() {
                    SystemClock.sleep(3000);
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            menuItem.setActionView(null);
                        }
                    });
                }
            }).start();
        }

        return true;
    }
}

questionAnswers(2)

yourAnswerToTheQuestion