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.