/**
* Created by Danny.姜 on 17/7/26.
*/
public class TestAdapter extends ApplicationAdapter {
Stage stage;
ScrollPane scrollPane;
Table table;
private float lastStageX;
private float lastStageY;
ActorGestureListener actorGestureListener;
private InputListener inputListener = new InputListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
Log.e("DANNY", "actor touch down");
if (pointer == 0) {
lastStageX = event.getStageX();
lastStageY = event.getStageY();
inStage = false;
}
return true;
}
@Override
public void touchDragged(InputEvent event, float x, float y, int pointer) {
Log.e("DANNY", "actor touch dragging");
Actor actor = event.getListenerActor();
if (cancelTouchFocus) {
float currentX = event.getStageX();
float currentY = event.getStageY();
actor.moveBy(currentX - lastStageX, currentY - lastStageY);
lastStageX = currentX;
lastStageY = currentY;
if (!inStage) {
Vector2 vector2 = actor.localToStageCoordinates(new Vector2());
actor.setPosition(vector2.x, vector2.y);
stage.addActor(actor);
stage.cancelTouchFocusExcept(this, actor);
inStage = true;
}
}
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
Log.e("DANNY", "actor touch up");
cancelTouchFocus = false;
}
};
@Override
public void create() {
super.create();
stage = new Stage();
stage.setDebugAll(true);
Gdx.input.setInputProcessor(stage);
actorGestureListener = new ActorGestureListener() {
@Override
public boolean longPress(Actor actor, float x, float y) {
Log.e("DANNY", "actor gesture listener long pressed");
cancelTouchFocus = true;
return super.longPress(actor, x, y);
}
};
table = new Table();
scrollPane = new ScrollPane(table, new ScrollPane.ScrollPaneStyle());
scrollPane.setSize(stage.getWidth(), 500);
scrollPane.setScrollingDisabled(false, true);
scrollPane.setCancelTouchFocus(false);
scrollPane.setSmoothScrolling(true);
scrollPane.setFlingTime(0);
stage.addActor(scrollPane);
initTable();
}
private boolean cancelTouchFocus = false;
private boolean inStage = false;
private void initTable() {
for (int i = 0; i < 10; i++) {
BaseGdxActor actor = new BaseGdxActor(new TextureRegion(
new Texture("badlogic.jpg")));
table.add(actor).width(actor.getWidth()).pad(10);
actor.addListener(actorGestureListener);
actor.addListener(inputListener);
}
}
@Override
public void render() {
super.render();
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act();
stage.draw();
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有