java我怎样才能在Android的星形拓扑中画出许多朋友 1 周,4 日 Questions & Answers 577 我有点问题 假设我有Q图标(简单的图标,比如安卓徽标),我想把它们放在一个星形拓扑中,与单星中心(图标)相对,并将它们连接到安卓画布上 我该怎么做 有确切的联系吗 有算法信息吗
# 1 楼答案 public void starTopology(Canvas mCanvas,int noOfFriends,float centerX,float centerY,int radious) { final double PI = 3.14; final double MARGIN = (2*PI)/noOfFriends; final double OFFSETX = centerX; final double OFFSETY = centerY; final int RADIUS = radious; float pointXCoord = 0; float pointYCoord = 0; double NextPositionOnCircumference = MARGIN; Paint myCustomizedBrush = new Paint(); myCustomizedBrush.setAntiAlias(true); myCustomizedBrush.setColor(Color.WHITE); for(int i= 0; i < noOfFriends; i++){ pointXCoord = (float) (OFFSETX + RADIUS * Math.cos(NextPositionOnCircumference)); pointYCoord = (float) (OFFSETY + RADIUS * Math.sin(NextPositionOnCircumference)); NextPositionOnCircumference += MARGIN; mCanvas.drawLine((float)OFFSETX, (float)OFFSETY, pointXCoord, pointYCoord, myCustomizedBrush); pointXCoord -= 10; pointYCoord -= 10; mCanvas.drawBitmap(Utility.FriendProfilePic.get(i), pointXCoord, pointYCoord, null); } mCanvas.drawCircle((float)OFFSETX, (float)OFFSETY, 5, myCustomizedBrush); }
# 1 楼答案
}