我正在研究使用以下方法在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/