首页 > 解决方案 > 如何在片段中为添加/删除节点(使用 grathstream)创建触摸事件?

问题描述

我正在创建一个创建图形(节点和边)的应用程序,我想实现一个触摸方法来创建节点,但是我遇到了困难,因为当我触摸画布以添加节点时它不起作用,但是如果我点击活动作品的底部菜单

我尝试实现 View.OnTouchListener 但这无法识别 FrameLayout 中的触摸,该触摸与我显示图形的片段一起使用。

我的活动:

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<FrameLayout
  android:id="@+id/layoutFragment"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_above="@+id/bottomNavView"
  android:layout_alignParentStart="true"
  android:layout_alignParentTop="true"
  android:layout_alignParentEnd="true">

<fragment
  android:id="@+id/fragment_tag"    
  android:name="org.graphstream.ui.android_viewer.util.DefaultFragment"
  android:layout_width="match_parent"
  android:layout_height="match_parent" />

</FrameLayout>

<include
   android:id="@+id/bottomNavView"
   layout="@layout/bottom_nav_view" />
</RelativeLayout>

这是我的java(我试图触摸屏幕并显示敬酒):

    public class FragmentGrafo extends Fragment{

    @Override
     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup 
    container, Bundle savedInstanceState) {
        final View view = inflater.inflate(R.layout.grafo_fragment, 
    container, false);

        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                 if (event.getAction() == MotionEvent.ACTION_DOWN){
                    Toast.makeText(getActivity(), "Não pode mais add 
     nós", 
     Toast.LENGTH_SHORT).show();
                }
                return true;
            }
        });

        return view;
    }

我希望我可以触摸屏幕并添加节点,或者单击并删除否,选择节点1然后选择节点2并创建边缘

标签: javaandroidgraphstream

解决方案


推荐阅读