setX(), setTranslationX(), setY(), and setTranslationY()

后端 未结 3 1765
面向向阳花
面向向阳花 2021-02-05 05:50

What are the differences between setX(), setY(), and setTranslationX(), setTranslationY()? Are they setting offsets on existing coordinates or setting absolute positions?

3条回答
  •  青春惊慌失措
    2021-02-05 06:30

    From the docs, setTranslationX is:

    Sets the horizontal location of this view relative to its left position. This effectively positions the object post-layout, in addition to wherever the object's layout placed it.

    And setX is:

    Sets the visual x position of this view, in pixels. This is equivalent to setting the translationX property to be the difference between the x value passed in and the current left property.

    Thus you can think of setTranlsationX as a relative offset: move 3 pixels left of where you normally would be. And setX is a fixed position: move whatever you have to so that you end up drawing at coordinate X.

提交回复
热议问题