我喜欢PlayN框架的Tripleplay UI布局,但有时我是否可以禁用布局计算,这样就可以在不触发布局计算的情况下移动或更改小部件的文本?
例如,我在AxisLayout中创建了一个具有单个按钮的简单屏幕,并在该按钮中添加了一个侦听器:
button.layer.addListener(new Adapter() {
private float startX;
@Override
public void onPointerStart(Event event) {
startX = event.localX();
}
@Override
public void onPointerDrag(Event event) {
button.layer.transform().translateX(event.localX() - startX);
}
});现在拖动按钮向左和右移动,我很高兴。您可以看到源代码论吉乌布。
但是,该代码有两个问题:
似乎正在发生的是,每当按钮从按下状态更改为未按下状态或另一种方式时,屏幕的布局就会重新计算,并且按钮返回到它的起始位置。
有没有办法告诉屏幕不要重新计算它的布局?我能告诉那个按钮它是有效的吗?
我能想到的唯一策略是把按钮放在轴布局中,计算它的位置,然后将它从轴布局移动到绝对布局,而我则移动它。我希望有更简单的方法。
发布于 2014-10-03 09:45:57
tripleplay元素的思想是,它们根据布局、约束、大小等来定位自己。
如果您希望能够移动它们,则需要使用AbsoluteLayout
https://stackoverflow.com/questions/25779859
复制相似问题