有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我怎样才能在Android的星形拓扑中画出许多朋友

我有点问题

假设我有Q图标(简单的图标,比如安卓徽标),我想把它们放在一个星形拓扑中,与单星中心(图标)相对,并将它们连接到安卓画布上

enter image description here

我该怎么做

有确切的联系吗

有算法信息吗


共 (1) 个答案

  1. # 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);
    

    }