Mettre une barre de progression sur ActionBar

J’essaie de placer un ProgressBar indéterminé sur l’actionBar. J’utilisais un actionView pour placer le progressBar comme une application Google+ par exemple.

  

le problème est que la barre de progression est considérée comme un élément et par conséquent sur un mode portrait Nexus S, je n’ai qu’un autre élément dans la barre d’actions alors que sur Google+, je peux voir deux éléments plus la barre de progression. Comment est-il possible de mettre une barre de progression en utilisant la barre d’action Android?

REMARQUE: La fonctionnalité ci-dessous est maintenant obsolète dans la bibliothèque de support.

Vous devez appeler

 requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS) 

dans votre onCreate() avant de définir la disposition de l’activité :

par exemple

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); ... // set layout etc 

Si vous utilisez la bibliothèque de support, remplacez requestWindowFeature par supportRequestWindowFeature

Et puis appelle

 setProgressBarIndeterminateVisibility(true); 

sur votre activité chaque fois que vous voulez montrer le fileur de progrès.

Ma situation nécessitait la mise à jour de la barre de progression à partir d’un fragment à l’aide de la version 4 de la Android Support Library.

Dans mon “MainActivity étend ActionBarActivity” comme suggéré par Jokeefe:

 supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); 

avant

 setContentView(R.layout.activity_main); 

Dans la longue tâche de mon fragment:

onPreExecute

 actionBarActivity.setSupportProgressBarIndeterminateVisibility(true); 

onPostExecute

 actionBarActivity.setSupportProgressBarIndeterminateVisibility(false); menu.clear(); actionBarActivity = (ActionBarActivity)getActivity(); actionBarActivity.supportInvalidateOptionsMenu(); 

Pas sûr si cela répond à l’OP mais c’est ce qui a fonctionné pour moi basé sur les postes ci-dessus. J’espère que cela t’aides.

J’ai trouvé le plus facile de montrer les progrès exactement comme vous en avez besoin. Je l’ai trouvé ici . Utilisez simplement une classe et placez votre barre de progression où vous voulez.