视图的 setX()、setY() 和 layout()
View's setX(), setY() and layout()
那些方法之间究竟有什么约定?我想,layout() 调用 setX(),但不知何故,layout() 在调用 setX() 后停止工作。
view.layout(256, 256, 512, 512);
view.setX(0);
view.layout(256, 256, 512, 512);
但视图停留在 {0, 256}。为什么会这样?
view.layout(256,256,512,512)
表示:
为视图及其所有后代分配大小和位置
这是布局机制的第二阶段。 (首先是测量)。在此阶段,每个 parent 调用其所有 children 的布局来定位它们。这通常使用存储在测量 pass() 中的 child 测量来完成。
Derived 类 不应覆盖此方法。使用 children 派生的 类 应该覆盖 onLayout。在那个方法中,他们应该在每个 children 上调用布局。
参数
升
左侧位置,相对于 parent
吨
最高位置,相对于 parent
r
正确的位置,相对于 parent
b
底部位置,相对于 parent
同时 view.getX()
此视图的视觉 x 位置(以像素为单位)。这相当于translationX属性加上当前left属性。
Returns
此视图的视觉 x 位置,以像素为单位。
希望这是有道理的...
根据我的理解,child.layout(Int,int ,int ,int)
用于确定 child is.after 绘图 layout.u 设置 X
位置的位置有多大..所以它保持那个尺寸的 x 位置。
那些方法之间究竟有什么约定?我想,layout() 调用 setX(),但不知何故,layout() 在调用 setX() 后停止工作。
view.layout(256, 256, 512, 512);
view.setX(0);
view.layout(256, 256, 512, 512);
但视图停留在 {0, 256}。为什么会这样?
view.layout(256,256,512,512)
表示: 为视图及其所有后代分配大小和位置 这是布局机制的第二阶段。 (首先是测量)。在此阶段,每个 parent 调用其所有 children 的布局来定位它们。这通常使用存储在测量 pass() 中的 child 测量来完成。 Derived 类 不应覆盖此方法。使用 children 派生的 类 应该覆盖 onLayout。在那个方法中,他们应该在每个 children 上调用布局。 参数 升 左侧位置,相对于 parent 吨 最高位置,相对于 parent r 正确的位置,相对于 parent b 底部位置,相对于 parent
同时 view.getX()
此视图的视觉 x 位置(以像素为单位)。这相当于translationX属性加上当前left属性。 Returns 此视图的视觉 x 位置,以像素为单位。
希望这是有道理的...
根据我的理解,child.layout(Int,int ,int ,int)
用于确定 child is.after 绘图 layout.u 设置 X
位置的位置有多大..所以它保持那个尺寸的 x 位置。