我正在研究使用以下方法在Android上使用GraphStream

api 'com.github.graphstream:gs-ui-android:2.0-alpha'
api 'com.github.graphstream:gs-core:2.0-alpha'


我设法构造并显示了我的图,

但是,我看不到如何在图形内的节点上侦听用户交互。

当用户单击任何节点时,我需要显示一个对话框并显示特定的节点信息。

我尝试在org.graphstream.ui.android_viewer.AndroidViewer上设置侦听器,但是我从未收到任何回调

我可以在屏幕上拖动显示的节点,所以我知道有默认的侦听器,但是如何添加自己的侦听器?

最佳答案

您可以像这样通过ViewerPipe实现ViewerListener:


ViewerPipe pipe = fragment.getViewer().newViewerPipe();

pipe.addAttributeSink( graph );
pipe.addViewerListener( this ); // this or any class which implements ViewerListener
pipe.pump();


您可以在此处获得示例:https://github.com/graphstream/gs-ui-android-test/blob/master/app/src/main/java/ui/graphstream/org/gs_ui_androidtestFull/Activity_TestArrows.java

在这里了解ViewerPipe的工作原理:http://graphstream-project.org/doc/Tutorials/Graph-Visualisation/

10-04 19:41