Java 文本工具提示在android上不显示
我在任何地方都没有发现类似的问题,所以我决定发帖。 问题是texttooltip并没有显示在android上的元素上,尽管它在桌面启动时工作得很好。我添加了一些系统输出,应用程序似乎能够正确地检测进入和退出事件(桌面显示相同的控制台输出),但由于某些原因,tt仍然不会弹出。 这样做的目的是,当用户持有该元素(可触摸)时,应用程序会显示文本工具提示。 有什么问题吗Java 文本工具提示在android上不显示,java,android,libgdx,scene2d,Java,Android,Libgdx,Scene2d,我在任何地方都没有发现类似的问题,所以我决定发帖。 问题是texttooltip并没有显示在android上的元素上,尽管它在桌面启动时工作得很好。我添加了一些系统输出,应用程序似乎能够正确地检测进入和退出事件(桌面显示相同的控制台输出),但由于某些原因,tt仍然不会弹出。 这样做的目的是,当用户持有该元素(可触摸)时,应用程序会显示文本工具提示。 有什么问题吗 编辑:我尝试过扩展TextTooltip,覆盖enter()和exit()方法,只向它们添加sysout。用我的文本工具提示按住手指按
编辑:我尝试过扩展TextTooltip,覆盖enter()和exit()方法,只向它们添加sysout。用我的文本工具提示按住手指按住按钮会触发enter()一次,松开手指会触发exit()一次。就像在桌面上悬停鼠标一样,输出相同。唯一的区别是没有显示实际的工具提示。好的,我解决了这个问题。也许它可以帮助任何有类似操作系统的人解决同样的问题
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);
}
基本上,我只是重做了股票文本工具提示,不同的是这一个实际工作的预期。如果你想要酷动画,只需在舞台上添加或删除工具提示时添加一个序列。你能分享你的尝试吗?尝试向所有类型的元素添加文本工具提示:可触摸的表格、按钮、窗口、标签。尝试调整ToolTimManager设置,但没有帮助。在桌面上进行了测试,一切正常。到目前为止,我还从未在android上遇到过scene2d的任何问题。欢迎来到so。请告诉我们您的代码。请看一看并提供一个示例,以便其他人能够实际帮助您。您使用的是哪个gdx版本?过去Android上的工具提示有漏洞。这个月我和gradle一起做了一个项目,所以我很确定这个版本是最新的。这些bug在几年前就被修复了,所以事实并非如此。