Android 视图';s setX()、setY()和layout()

Android 视图';s setX()、setY()和layout(),android,layout,view,Android,Layout,View,这两种方法之间的合同究竟是什么?我想,layout()调用setX(),但不知怎的,layout()在调用setX()后停止工作 但是视图保持在{0,256}上。为什么会这样 view.layout(256,256,512,512) 指: 为视图及其所有子体指定大小和位置 这是布局机制的第二阶段。(第一个是测量)。在此阶段中,每个父级调用其所有子级上的layout来定位它们。这通常使用存储在测量过程()中的子测量值来完成。 派生类不应重写此方法。具有子级的派生类应重写onLayout。在该

这两种方法之间的合同究竟是什么?我想,layout()调用setX(),但不知怎的,layout()在调用setX()后停止工作

但是视图保持在{0,256}上。为什么会这样

 view.layout(256,256,512,512) 
指: 为视图及其所有子体指定大小和位置 这是布局机制的第二阶段。(第一个是测量)。在此阶段中,每个父级调用其所有子级上的layout来定位它们。这通常使用存储在测量过程()中的子测量值来完成。 派生类不应重写此方法。具有子级的派生类应重写onLayout。在该方法中,他们应该对每个子对象调用布局。 参数 L 左位置,相对于父对象 T 顶部位置,相对于父级 R 相对于父对象的正确位置 B 底部位置,相对于父对象

view.getX()

此视图的可视x位置,以像素为单位。这相当于translationX属性加上当前的left属性。 退换商品 此视图的可视x位置,以像素为单位


希望这是有意义的…

在我的理解中
child.layout(Int,Int,Int,Int)
用于确定孩子有多大。在绘制布局之后。你正在设置
X
位置以保持在那里。因此,它保持在X位置上的大小。

你是说onLayout(boolean,Int,Int,Int,Int,Int,Int,Int)吗?对不起,我是指布局(int,int,int,int)
 view.layout(256,256,512,512)