TextTooltip不在Android上显示

问题描述 投票:-2回答:1

我在任何地方都没有找到类似的问题,所以我决定发表。问题是texttooltip不会在android上的元素上显示,尽管可以在桌面启动时很好地工作。我添加了一些sysouts,应用似乎可以正确检测进入和退出事件(桌面显示相同的控制台输出),但是由于某些原因,tt仍然不会弹出。目的是当用户按住元素(可触摸)时,应用会显示一个texttooltip。可能是什么问题?

编辑:我尝试扩展TextTooltip,覆盖enter()和exit()方法,仅向其中添加sysout。用我的TextTooltip按住手指按钮一次触发enter(),释放手指一次触发exit()。就像将鼠标悬停在桌面上一样,输出相同。唯一的不同是实际的工具提示没有显示。

java android libgdx scene2d
1个回答
0
投票

好,我解决了这个问题。也许它可以帮助任何具有类似操作系统问题的人。

public class HoldTooltip extends ActorGestureListener {

Label tooltip_text;
Table tooltip_actor;

public HoldTooltip(String tooltip_text) {
    this.tooltip_text = new Label(tooltip_text, skin);

    tooltip_actor = new Table();
    tooltip_actor.add(this.tooltip_text);
    tooltip_actor.setSize(this.tooltip_text.getPrefWidth(), this.tooltip_text.getPrefHeight());

    getGestureDetector().setLongPressSeconds(0.5f);
}

@Override
public boolean longPress(Actor actor, float x, float y) {
    tooltip_actor.setPosition(x+50, y+50);
    actor.getStage().addActor(tooltip_actor);
    return super.longPress(actor, x, y);
}

@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
    tooltip_actor.remove();
    super.touchUp(event, x, y, pointer, button);
}

[基本上,我只是重做了股票TextTooltip,区别在于该工具实际上按预期工作。如果您想要酷炫的动画,只需在添加或删除tooltip_actor到舞台上时添加一个序列即可。

© www.soinside.com 2019 - 2024. All rights reserved.