Androide enfrente de bringChildToFront
Hay un método que hace lo contrario de bringChildToFront. Quiero enviar al niño a la espalda. ¿Cómo puedo hacer eso?
- Diferencia entre hardware y software en Android
- Cómo agregar varias vistas al gestor de ventanas en Android
- ¿Por qué http://schemas.android.com/apk/res-auto "sólo funciona para proyectos de biblioteca?
- XY errónea al dibujar CircularImage
- Lienzo en no actualizar
- Seguimiento de la velocidad de una vista en movimiento
- Android: Duplicar el elemento View en el grupo ViewGroup
- Java.lang.IllegalArgumentException: pointerIndex fuera de rango Exception - dispatchTouchEvent
- ¿Necesito liberar View.OnClickListener de las vistas durante onDestroy?
- Debe ser uno de: View.VISIBLE, View.INVISIBLE, View.GONE
- ¿Agregar y quitar vistas en Android dinámicamente?
- Droidparts ClearableEditText
- Android: Propósito de getTag () y setTag () en la clase View
No existe tal método en la API nativa de Android. Pero puedes implementarlo tú mismo, aquí hay un ejemplo:
public void moveChildToBack(View child) { int index = indexOfChild(child); if (index > 0) { detachViewFromParent(index); attachViewToParent(child, 0, child.getLayoutParams()); } }
Este método funcionará sólo en subclases de la clase android.view.ViewGroup , ya que utiliza métodos protegidos.
La idea principal es mover la vista de su hijo al primer lugar de la lista secundaria, ya que ViewGroup utiliza el orden natural de su hijo para dibujarlos, lo que significa que la primera vista en la lista tendrá el orden Z más bajo y la última vista tendrá la más alta Z- orden.
Prueba el siguiente código:
private void moveToBack(View currentView) { ViewGroup vg = ((ViewGroup) currentView.getParent()); for(int i=0;i<vg.getChildCount();i++){ View v=vg.getChildAt(i); if(!v.equals(currentView)) { vg.bringChildToFront(v); break; } } }
La idea es llevar a otro niño al frente. Si usted necesita hacerla a la parte posterior extrema, quite la "rotura;".