簡體   English   中英

如何使用api Graphstream在android studio中通過觸摸創建節點?

[英]how to create a node by touch in android studio with api Graphstream?

當我點擊屏幕創建節點時,我正試圖獲取它,但是通過Viwerpipe,我唯一能做的就是刪除已經創建的節點。

    public class Activity_TestManySprite extends Activity implements ViewerListener {

    private static final int CONTENT_VIEW_ID = 10101010;
    private DefaultFragment fragment ;
    private Graph graph ;
    protected boolean loop = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FrameLayout frame = new FrameLayout(this);
        frame.setId(CONTENT_VIEW_ID);
        setContentView(frame, new FrameLayout.LayoutParams(
        FrameLayout.LayoutParams.MATCH_PARENT, 
        FrameLayout.LayoutParams.MATCH_PARENT));

        graph = new MultiGraph("TestSize");
        graph.setAttribute("ui.antialias");

        display(savedInstanceState, graph, true);
    }

    @Override
    protected void onStart() {
        super.onStart();

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

        pipe.addAttributeSink( graph );
        pipe.addViewerListener( this );
        pipe.pump();

        graph.setAttribute( "ui.stylesheet", styleSheet );
        graph.setAttribute( "ui.antialias" );
    }

    public void display(Bundle savedInstanceState, Graph graph, boolean autoLayout) {
        if (savedInstanceState == null) {
        FragmentManager fm = getFragmentManager();

        fragment = (DefaultFragment)fm.findFragmentByTag("fragment_tag");
        if (null == fragment) {
        fragment = new DefaultFragment();
        fragment.init(graph, autoLayout);
        }

        FragmentTransaction ft = fm.beginTransaction() ;
        ft.add(CONTENT_VIEW_ID, fragment).commit();
        }
    }

    public void buttonPushed( String id ) {
        graph.removeNode(id);
    }

    public void buttonReleased(String id) {
    }    

    public void mouseOver(String id) {
    }

    public void mouseLeft(String id) {
    }

    public void viewClosed(String viewName) {
    }
}

我搜索了很多地方,但我沒有找到如何使用觸摸屏來做到這一點,我通常發現這個鏈接,說它很有用,但我無法理解:我搜索了很多地方,但我沒有找到如何使用觸摸屏這樣做,我通常發現這個鏈接,說它很有用,但我無法理解:https://github.com/graphstream/gs-ui-android-test/tree/master/app/src/main/爪哇/ UI / graphstream /組織/ gs_ui_androidtestFull

您應該能夠使用DefaultView類的addListener()方法替換onTouchListener。

fragment.getViewer().getDefaultView().addListener("OnTouchListener", myListener);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM