Indeterminado Horizontal ProgressBar ABAJO ActionBar usando AppCompat?

He estado buscando respuestas sobre cómo colocar la barra de progreso horizontal indeterminada debajo de la barra de acción usando AppCompat. Soy capaz de hacer que aparezca la barra de progreso horizontal, pero está en la parte superior de la barra de acción. Quiero que debajo de / debajo de la barra de acción tipo de cómo gmail lo hace (excepto sin el pull para actualizar).

Utilicé el siguiente código para que aparezca la barra de progreso:

supportRequestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main_activity); setSupportProgressBarIndeterminate(Boolean.TRUE); setSupportProgressBarVisibility(true); 

Pero esto coloca la barra de progreso horizontal en la parte superior de la barra de acción. Alguien sabe cómo colocar la barra de progreso debajo de la barra de acción?

Me enfrenté a un problema similar recientemente y lo resolví creando mi propia barra de progreso y luego alineándolo manipulando getTop () de la vista de contenido.

Así que primero crea tu barra de progreso.

 final LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, 20); //Use dp resources mLoadingProgressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); mLoadingProgressBar.setIndeterminate(true); mLoadingProgressBar.setLayoutParams(lp); 

Añadir a la ventana (vista de la decoración)

 final ViewGroup decor = (ViewGroup) getWindow().getDecorView(); decor.addView(mLoadingProgressBar); 

Y con el fin de llegar a su posición correcta Im utilizando un ViewTreeObserver que escucha hasta que la vista se ha establecido (aka el View.getTop () isnt 0).

 final ViewTreeObserver vto = decor.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { final View content = getView(android.R.id.content); @Override public void onGlobalLayout() { int top = content.getTop(); //Dont do anything until getTop has a value above 0. if (top == 0) return; //I use ActionBar Overlay in some Activities, //in those cases it's size has to be accounted for //Otherwise the progressbar will show up at the top of it //rather than under. if (getSherlock().hasFeature((int) Window.FEATURE_ACTION_BAR_OVERLAY)) { top += getSupportActionBar().getHeight(); } //Remove the listener, we dont need it anymore. Utils.removeOnGlobalLayoutListener(decor, this); //View.setY() if you're using API 11+, //I use NineOldAndroids to support older ViewHelper.setY(mLoadingProgressBar, top); } }); 

Espero que tenga sentido para ti. ¡Buena suerte!

  • Android DialogFragment con tema de AppCompat tema
  • Gradle Build Android Project Error "No se pudo resolver todas las dependencias"
  • Error gradle cuando Theme declare-styleable en dos bibliotecas
  • El archivo está fuera de sincronización El uso de 1.7 requiere la compilación con Android 4.4 (KitKat); Actualmente utilizando API 16
  • appcompat 21 logo as back button
  • Establecer ActionBar Tabs en la parte inferior de ActionBarActivity
  • Appcompat-v7: 21.0.0 no funciona con el servicio de Google Play 6.1+
  • Problemas de recursos de Android después de actualizar a Xamarin Forms 2.0
  • No puedo añadir android.support.v7 a mi ruta de construcción de proyecto
  • La biblioteca de soporte de Android aumenta el tamaño del APK mucho
  • Android: windowNoTitle no ocultará la barra de acción con appcompat-v7 21.0.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.