星空关系图谱(只是功能实现,考虑完善)

2,659 阅读2分钟

前言 :为什么要写这篇呢,原因是这本来是个强行实现的功能。在我有任何提及的情况下,陆陆续续有star量。原本是这样的,1年前,公司做的一个关于人脸识别的项目,有一个功能,6度关系。且个人的2度关系可能和你其他的关系还有联系。想想就是一个蜘蛛网的关系图。可是没办法,产品经理说撸,于是就撸了。可以说是强行实现(没有任何item的复用,数量大会卡顿甚至崩溃,不过最近看了一个蜂窝煤的recycleView倒是真的可以实现)。

这篇文章,博主也是试试水。如果这效果真的受欢迎,还是想整个完美的出来的。

那接下来就当需求来看吧,或者你有更好的想法,指点我一下,技术界的小学生向往学习。如果你没有任何想法,或许它能开扩你的思路:

项目需求:

  • 项目里将有关系的人,用星空图谱的关系连接起来。其中包括有6度关系,且头像之间不能重复
  • 点击任何一个人头像,展示“被点击人”当前的一度关系,并展示他们之间的证据高亮。点击其他位置复原,继续点击此头像进个人中心
  • 高亮展示人与人之前的“证据”,并且可点击
  • 根据此人关系的多小,在星空图上展示“不同大小”
  • 手指可放大缩小星空图,且随着展示关系的滑动,滑动区域改变
  • 判断放大缩小范围,优先展示关系多的,头像较大的人
  • 上下左右滑动星空图,只能在关系图所扩散的区域

实现效果

1、简单展示6度关系

2、双指放大,展示头像。点击高亮,展示被点击人一度关系

3、滑动展示关系,及点击事件

因为是强行实现,看看实战效果(很丑- -)

github地址