Poner una barra de progreso en la barra de acción
Estoy tratando de poner una barra de progreso indeterminada en la barra de acción. Yo estaba usando un ActionView para poner el ProgressBar como Google+ aplicación por ejemplo.
<item
android:id="@+id/menu_progress"
android:actionLayout="@layout/action_progress"
android:menuCategory="container"
android:showAsAction="always">
</item>
El problema es que la barra de progreso se considera como un elemento y, por lo tanto, en un modo retrato Nexus S solo tengo otro elemento en la barra de acción, mientras que en Google+ puedo ver dos elementos más la barra de progreso. ¿Cómo es posible poner una progressbar usando android actionbar?
3 answers
NOTA: La siguiente funcionalidad está obsoleta en la Biblioteca de soporte.
Necesitas llamar a
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS)
En su onCreate()
antes de configurar el layout de la actividad :
Por ejemplo
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
... // set layout etc
Si está utilizando la biblioteca de soporte reemplace requestWindowFeature con supportRequestWindowFeature
Y luego llamar
setProgressBarIndeterminateVisibility(true);
En su Actividad siempre que desee mostrar el progress spinner.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-16 09:51:55
Mi situación requería actualizar la barra de progreso de un Fragmento usando la versión 4 de la Biblioteca de Soporte de Android.
En mi "MainActivity extiende ActionBarActivity"como sugiere Jokeefe:
supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
Antes
setContentView(R.layout.activity_main);
En la larga tarea de mi fragmento:
OnPreExecute
actionBarActivity.setSupportProgressBarIndeterminateVisibility(true);
OnPostExecute
actionBarActivity.setSupportProgressBarIndeterminateVisibility(false);
menu.clear();
actionBarActivity = (ActionBarActivity)getActivity();
actionBarActivity.supportInvalidateOptionsMenu();
No estoy seguro de si esto responde a la OP, pero esto es lo que funcionó para mí basado en los posts anteriores. Espero que esto ayude.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-23 20:37:41
He encontrado uno más fácil para mostrar el progreso exactamente cómo lo necesita . Lo encontré aquí . Solo tienes que usar una clase y colocar tu barra de progreso donde quieras.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-02 03:14:36