另一个关于设置View位置的问题。如果您想四处移动View,则可以执行setX、setTranslationX、setLeft或LayoutParam.leftMargin当然还有覆盖onDraw方法并使用Matrix/Bitmap/Canvas操作。我想知道有什么区别。他们最终是否都调整了相同的值,即View的x坐标?最好将所有内容都放在一篇文章中,以供将来的读者使用据我所知,LayoutParam.LeftMargin:适用于所有API(具体在Api下8)SetTranslation:View的原始左边界与新左边界之间的差异。虽然我听说它可能不持久?任何人都可以阐明差异以及它们是否
setX()、setY()和setTranslationX()、setTranslationY()有什么区别?他们是在现有坐标上设置偏移量还是设置绝对位置?如果他们设置绝对坐标,这不会与父布局的约束冲突吗?假设我们有类似的东西|查看1|查看2|查看3|在LinearLayout中,如果我们执行view2.setX(0);或view2.setTranslationX(0);会导致View2重叠View1或推送View1去旁边?同样,如果我们有一个将alignParentBottom设置为true的RelativeLayout的子级,但我们在代码中手动将该子级的y坐标设置为0。哪个布局规则
setX()、setY()和setTranslationX()、setTranslationY()有什么区别?他们是在现有坐标上设置偏移量还是设置绝对位置?如果他们设置绝对坐标,这不会与父布局的约束冲突吗?假设我们有类似的东西|查看1|查看2|查看3|在LinearLayout中,如果我们执行view2.setX(0);或view2.setTranslationX(0);会导致View2重叠View1或推送View1去旁边?同样,如果我们有一个将alignParentBottom设置为true的RelativeLayout的子级,但我们在代码中手动将该子级的y坐标设置为0。哪个布局规则
在第一次单击按钮时,我想沿x轴滑动View(假设向右滑动200像素)。第二次按下按钮时,我想将View沿x轴滑回其原始位置。View.setTranslationX(float)方法跳转View到目标水平位置,调用myView.setTranslationX(200);和myView.setTranslationX(0);分别。有谁知道我可以滑动View到目标水平位置吗?Note1:ATranslateAnimationisnogoodsinceitdoesn'tactuallymovetheViewbutonlypresentstheillusionofitmoving.Note2:
在第一次单击按钮时,我想沿x轴滑动View(假设向右滑动200像素)。第二次按下按钮时,我想将View沿x轴滑回其原始位置。View.setTranslationX(float)方法跳转View到目标水平位置,调用myView.setTranslationX(200);和myView.setTranslationX(0);分别。有谁知道我可以滑动View到目标水平位置吗?Note1:ATranslateAnimationisnogoodsinceitdoesn'tactuallymovetheViewbutonlypresentstheillusionofitmoving.Note2:
View上的setX和setTranslationX有什么区别?它们对我来说似乎是一样的,但它们都存在于android平台上。谢谢 最佳答案 来自setX()的文档:Setsthevisualxpositionofthisview,inpixels.ThisisequivalenttosettingthetranslationXpropertytobethedifferencebetweenthexvaluepassedinandthecurrentleftproperty. 关于and
我正在使用CoordinatorLayout,其中subview位置使用ViewCompat.offsetLeftAndRight和ViewCompact.offsetTopAndBottomAPI进行动画处理。当从CoordinatorLayout中添加或删除subview时,布局操作会将每个subview的位置重置为屏幕的左上角,即没有任何偏移。这article提供了一个解决方案,通过在subview上设置布局监听器并恢复旧位置。我注意到使用setTranslationX和setTranslationYAPI,不会出现这个问题。子级在父级布局事件后保持其位置。我应该如何在这两组AP