2
我想将三个文本标签放置在屏幕上的一个确切点上(在这种情况下,在顶部可以更容易地说明问题)。所以,我有:libgdx scene2d返回错误的标签高度
LabelStyle labelStyle = new LabelStyle(new BitmapFont(), new Color(1,1,1,1));
Label textFullSize = new Label("Line 1 of 4\nLine 2 of 4\nLine 3 of 4\nLine 4 of 4", labelStyle);
textFullSize.setFontScale(1);
textFullSize.setPosition(0, Gdx.graphics.getHeight()-textFullSize.getPrefHeight());
stage.addActor(textFullSize);
Label textHalfSize = new Label("Line small 1 of 4\nLine small 2 of 4\nLine small 3 of 4\nLine small 4 of 4", labelStyle);
textHalfSize.setFontScale(0.5f);
textHalfSize.setPosition(Gdx.graphics.getWidth()*0.15f, Gdx.graphics.getHeight()-textHalfSize.getPrefHeight());
stage.addActor(textHalfSize);
Label textDoubleSize = new Label("Line large 1 of 4\nLine large 2 of 4\nLine large 3 of 4\nLine large 4 of 4", labelStyle);
textDoubleSize.setFontScale(2);
textDoubleSize.setPosition(Gdx.graphics.getWidth()*0.25f, Gdx.graphics.getHeight()-textDoubleSize.getPrefHeight());
stage.addActor(textDoubleSize);
但这里是我得到:
这究竟是为什么?为什么不能getPrefHeight()返回标签的正确高度?如何在没有这些的情况下定位标签?
这没有效果。 'getPrefHeight()'在调用'layout()'之前和之后返回相同(不正确)的值。 – TimSim 2014-12-21 08:58:19