Sì, puoi farlo facilmente in questo modo.
private MenuItem refresh;
.
.
.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.options_menu, menu);
// refresh menu item
refresh = menu.findItem(R.id.refresh_option_item);
return super.onCreateOptionsMenu(menu);
}
Dovete ottenere la vostra voce di menu di aggiornamento come sopra e poi, è possibile abilitare voce spinning come di seguito:
refresh.setActionView(R.layout.actionbar_indeterminate_progress);
e quando si operazione è completata, è possibile disattivare gira come di seguito:
refresh.setActionView(null);
E, infine, il actionbar_indeterminate_progress.xml
può essere simile a questo:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="64dp"
android:layout_height="wrap_content"
android:gravity="center">
<ProgressBar android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center"
style="?android:attr/indeterminateProgressStyle" />
</FrameLayout>
So come posso eseguire il layout manualmente ma voglio farlo in actionbar. – lujop
Non è forse la mia risposta utile? Non hai nemmeno commentato. :) – tasomaniac
È possibile scambiare con un intento di trasmissione? – Maxrunner