关于设置 View 位置的另一个问题。如果要四处移动 View ,则可以执行 setX setTranslationX setLeft LayoutParam.leftMargin
当然,在场外也可以重写onDraw方法,并使用 Matrix/Bitmap/Canvas 操作。

我想知道有什么区别。它们是否都及时调整了相同的值,即 View 的x坐标?
对于 future 的读者来说,将所有内容合而为一也将是一件好事

到目前为止,我知道,

  • LayoutParam.LeftMargin:适用于所有API(特定于Api)
    8)
  • SetTranslation: View 的原始左边界与新左边界之间的差异。虽然我听说这不是持久性的?

  • 任何人都可以了解这些差异,以及它们是否会影响不同的属性或相同的属性?

    最佳答案

    我相信setLeft和setX()之间的主要区别在于setLeft()是相对于其父 View 的,而setX()只是设置相对于整个屏幕的位置,与setTranslationX()相同。

    setLeft()术语表示这意味着布局系统可以更改其布局位置。例如,如果我们在滚动RecyclerView时使用setLeft,则系统将相应地更改其位置,因此在这种情况下的正确用法是setX()

    关于android - setX,setTranslationX,setLeft,LayoutParam.leftMargin,Matrix ..有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28903623/

    10-09 09:31