java - 如何在片段中为添加/删除节点(使用 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并创建边缘
解决方案
推荐阅读
- node.js - 基于 Angular 的项目的空响应和状态码的健康检查
- python - 熊猫数据框中每行值的笛卡尔积
- avro - AVRO 模式演变添加带有默认值的可选列失败反序列化
- php - laravel 5 以后发送电子邮件(邮件)时出错?
- python - Sympy:功能递归关系
- php - Typeahead 插件有更好的搜索 Mysql 查询吗?
- javascript - 使用正则表达式捕获说话者的姓名和评论
- kotlin - Kotlin 的 ArgumentMatcher
- reactjs - 如何将 GitHub 中的 react 应用程序作为组件导入到新的 react 应用程序中?
- r - 用不同的总和总结 R (pivot) 中的数据