libgdx太简陋了,连个能显示多行的TextArea都没有。搜索到老外论坛,看到用label代替显示多行文本,可怜啊。写个简单例子测试一下。
/**
* Created by andrew on 14-6-20.
*/
public class MyScreen implements Screen {
Stage stage;
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render(float i) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act();
stage.draw();
}
@Override
public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void hide() {
}
@Override
public void show() {
stage = new Stage();
Gdx.input.setInputProcessor(stage);
StringBuffer buf = new StringBuffer();
for (int i = 0; i < 258; i++) {
buf.append("hei" + i).append("\n");
}
Label lable = new Label(buf,
new Label.LabelStyle(FontUtil.getInstance().getFont(), Color.YELLOW));
ScrollPane scroll = new ScrollPane(lable);
scroll.setStyle(new ScrollPane.ScrollPaneStyle());
scroll.setSize(400,300);
scroll.setColor(Color.BLUE);
scroll.setVisible(true);
scroll.setPosition(20,80);
stage.addActor(scroll);
}
}
参考:http://badlogicgames.com/forum/viewtopic.php?f=11&t=5980&p=28416&hilit=multiline#p28416