Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


SetX (), setTranslationX (), setY () y setTranslationY ()

¿Cuáles son las diferencias entre setX (), setY (), y setTranslationX (), setTranslationY ()? ¿Están ajustando los desplazamientos en coordenadas existentes o estableciendo posiciones absolutas?

Si están estableciendo coordenadas absolutas, ¿no estarán en conflicto con las restricciones del diseño padre?

Digamos que tenemos algo así como | View 1 | View 2 | View 3| | View 1 | View 2 | View 3|

En un LinearLayout, lo que si lo hicimos view2.setX(0); O view2.setTranslationX(0); Vería 2 la vista de superposición 1 o empujaría la vista 1 hacia el lado?

Del mismo modo, ¿qué pasaría si tuviéramos un hijo de un RelativeLayout que tenía alignParentBottom definido como true, pero establecimos manualmente la coordenada y de ese niño en 0 en el código. ¿Qué regla de disposición gana?

Esencialmente, estoy confundido acerca de cómo las coordenadas manuales afectan las reglas de diseño del contenedor y también la diferencia entre la traducción y X / Y. Me disculpo por adelantado si esto parece trivial, pero soy nuevo en Android que viene de iOS.

One Solution collect form web for “SetX (), setTranslationX (), setY () y setTranslationY ()”

Desde los documentos, setTranslationX es:

Establece la posición horizontal de esta vista con respecto a su posición izquierda. Esto posiciona eficazmente el post-layout del objeto, además de dondequiera que el diseño del objeto lo colocó.

Y setX es:

Establece la posición x visual de esta vista, en píxeles. Esto equivale a configurar la propiedad translationX como la diferencia entre el valor x pasado y la propiedad left actual.

Por lo tanto, puede pensar en setTranlsationX como un desplazamiento relativo: mueva 3 píxeles a la izquierda de donde normalmente estaría. Y setX es una posición fija: mueve lo que tengas para que setX dibujando en la coordenada X.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.