当前位置: 首页 > 知识库问答 >
问题:

Android:网络关系图

苍元章
2023-03-14

我将首先解释我试图实现的目标,然后解释我目前解决它的方法。我感谢任何有用的输入,即使它意味着从头开始。如果需要,我会添加更多代码或解释。

这将是更大的Android应用程序的一部分。这部分应该在一个可滚动的视图/布局中显示先前选定网络中的所有节点以及节点之间的关系。这些关系应该由节点之间的箭头描绘,显示每个节点在一定时间间隔内可以“听到”哪些节点。遗憾的是,节点必须是可点击的,因为您必须能够在该视图中为应用程序的其他部分设置一些选项。实际数据(节点、邻里关系)最终应该通过网络服务从数据库返回,但这还不完全相关,除了节点的数量不是静态的这一事实。

我目前的做法是创建GridView,用自定义按钮适配器填充它,这样我就可以使用非静态数量的自定义(透明)按钮。

GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ButtonAdapter(this));

我已经创建了可以在位图上绘制箭头的方法,并且我还可以通过将其转换为可绘制来轻松地将其设置为GridView的背景。

protected Bitmap drawArrow(float startX, float startY, float endX, float endY, Bitmap bitmap) {
....
}

Drawable d = new BitmapDrawable(bitmap);
gridview.setBackgroundDrawable(d);

这种方法的问题是,我需要知道位图的GridView的确切大小和按钮的位置,或者1个按钮将使用的总高度和宽度。由于是在onCreate中创建的,我现在还没有得到实际的大小。这个问题有解决办法吗?

即使这样做可行,我也不确定是否可以设置背景,使其与GridView滚动1:1,而不是缩放。

共有1个答案

何向荣
2023-03-14

使用自定义线程和每个按钮的额外类,通过自定义的SurfaceView来解决问题,这些按钮与它们之间的线简单地绘制在一起。滚动也必须单独实现。

 类似资料:
  • 本文向大家介绍Python Matplotlib 基于networkx画关系网络图,包括了Python Matplotlib 基于networkx画关系网络图的使用技巧和注意事项,需要的朋友参考一下 前言 昨天才开始接触,鼓捣了一个下午,接下来会持续更新,如果哪里有错误的地方,望各位大佬指出,谢谢! 数据描述 两个文件,一个文件包含了网络图的节点,节点存在类别(0,1,2,3)四类,但是0类别舍去

  • 我很高兴。Android中的网络支付网关。 但在上面的sdk中,我并没有传递大量的加密传输。有谁能帮我在授权的情况下进行简单的支付交易吗。net android。 提前感谢。

  • 本文向大家介绍python networkx 包绘制复杂网络关系图的实现,包括了python networkx 包绘制复杂网络关系图的实现的使用技巧和注意事项,需要的朋友参考一下 1. 创建一个图 所有的构建复杂网络图的操作基本都围绕这个g来执行。 2. 节点 节点的名字可以是任意数据类型的,添加一个节点是 添加一组节点,就是提前构建好了一个节点列表,将其一次性加进来,这跟后边加边的操作是具有一致

  • NFS(网络文件系统) [NFS] lockd.nlm_grace_period=秒数 为NFS锁管理器指定宽限时间,单位是秒。取值范围在[0-240]? [NFS] lockd.nlm_tcpport=端口号 为NFS锁管理器指定TCP端口 [NFS] lockd.nlm_timeout=秒数 为NFS锁管理器指定默认超时时间,单位是秒。默认值是10秒。取值范围在[3-20]? [NFS] lo

  • 网络路径性能检测主要包括三方面的内容:带宽测量能够获知网络的硬件特性,如网络的最大容量,吞吐量测量能够获得网络实际可提供的最大容量,数据流测量能够了解真实占用的网络容量。

  • 本文向大家介绍Android网络连接判断与相关处理,包括了Android网络连接判断与相关处理的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Android网络连接判断与相关处理,供大家参考,具体内容如下 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。  <uses-permission android:name="android.permission.A