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?
- Renderización de la cámara en múltiples superficies - en y fuera de la pantalla
- Android Establecer el texto alinear a la mitad de la tostada
- Android - diferencia entre offsetTopAndBottom, setTranslateY
- Diferencia real entre TextView y Button
- Problema con revelación circular y CircularRevealLibrary en Android
- Android: Duplicar el elemento View en el grupo ViewGroup
- ¿Cuál es el uso de "adjuntar a la raíz" en el inflador de diseño?
- ¿Cuándo se adjuntan y separan las vistas?
- ¿Cómo cambiar el color de la lista de "final de desplazamiento" drag color?
- Circular ImageView
- Droidparts ClearableEditText
- Diferencia entre setVisibility () y setAlpha ()
- Debe ser uno de: View.VISIBLE, View.INVISIBLE, View.GONE
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;".