¿Diferencia entre setTranslationX / Y y offsetLeftAndRight / offsetTopAndBottom?
Estoy trabajando con un CoordinatorLayout
en el cual las posiciones de las vistas del niño se están ViewCompat.offsetLeftAndRight
con las API ViewCompat.offsetLeftAndRight
y ViewCompact.offsetTopAndBottom
.
Cuando se agrega o se quita una vista secundaria de CoordinatorLayout
, la operación de disposición restablece la posición de cada niño en la esquina superior izquierda de la pantalla, es decir, sin ningún desplazamiento.
- Android: creación de dos columnas en una imagen lineal
- Diseño del coordinador con viewpager con recyclerview como adaptador
- Obtener Posición de Vista Absoluta en ListView
- HorizontalScrollView obtiene niños visibles
- Android: fitsSystemWindows y newline interfieren con bottomSheets
Este artículo proporciona una solución, estableciendo un oyente de diseño en la vista secundaria y restaurar posiciones anteriores.
Me di cuenta de que utilizando las API setTranslationX
y setTranslationY
, este problema no se produce. Los niños mantienen su posición después de los eventos de disposición de los padres.
¿Cómo debo decidir entre estos dos conjuntos de API para organizar mis vistas en la pantalla? Soy cuidadoso de usar cualquiera sin entender sus diferencias. No entendí bien leyendo la documentación oficial.
- Cómo centralizar iconos en la barra de herramientas en android studio
- TextView onClick () no funciona
- Esta versión de la biblioteca de renderizado es más reciente que su versión de Android Studio. Actualiza Android Studio
- Disposición de Android, configuración de botones para tener el mismo tamaño
- ¿Qué significa el parámetro LayoutInflater attachToRoot?
- No se puede comprimir un mapa de bits reciclado
- ButterKnife no trabaja con Jack?
- Icono de la vista de búsqueda
Bastante vieja pregunta después de muchos meses tengo pocas explicaciones:
Lo primero es lo primero. El desplazamiento moverá la vista horizontalmente o verticalmente de manera similar para traducir, pero se usará para obtener resultados permanentes.
Cuando se utiliza View#offsetTopAndBottom(int offset)
entonces internamente tiene estas funcionalidades:
mTop += offset; mBottom += offset;
Por otro lado tranlate es una variable que se calcula además de esta top / bottom / left / right posiciones y la mayoría práctico en animaciones.
Ambos métodos activarán una actualización de diseño si es necesario.
Más han sido explicadas por Nick Butcher en este bonito video: https://www.youtube.com/watch?v=86p1GPEv_fY&t=5m42s
En cuanto a CoordinatorLayout
está usted por cualquier margen de ajuste de cambio a los niños? Por ejemplo, BottomSheetBehavior
no funciona bien con los márgenes ya que los ignora. Creo que este podría ser el caso para usted.
- Ruby on rails API segura para la integración de aplicaciones móviles
- ¿Puedo configurar IVR en mi teléfono Android?