![](/img/trans.png)
[英]Android: Calling setY with the SAME y position on a SeekBar twice moves it into two different locations?
[英]Android set view position - setY vs setTop
我打算以编程方式移动按钮的位置。 按钮处于相对布局中。 我研究过并发现我们可以使用.setY()
或.setTop()
。 它们看起来应该是一样的。
但在我的情况下, .setTop()
根本不会改变位置,而.setY()
只能起作用。 我不确定我做了什么误会,但对我来说这很奇怪。
有没有人可以正确解释setY()
vs setTop()
? 有什么不同?
这是layout.xml
:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>
</RelativeLayout>
之间的主要区别setY()
和setTop()
是setY()
设置顶部相对于可视区域的视图的偏移,而setTop()
设置顶部相对于其父视图的偏移量。
来自Android文档 。
塞蒂()
设置此视图的视觉y位置(以像素为单位)。 这相当于将
translationY
属性设置为传入的y
值与当前top
属性之间的差异。
机顶盒()
设置此视图相对于其父级的顶部位置。
您可以注意到setTop()
与setY()
不同,它没有效果。 原因是layout()
正在改变字段mTop
。 查看更改的mTop
的最简单方法是设置上边距。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.