code: private void calculateMenuItemPosition() {
  
          float itemRadius = (expandedRadius + collapsedRadius) / 2, f;
          RectF area = new RectF(
                  center.x - itemRadius,
                  center.y - itemRadius,
                  center.x + itemRadius,
                  center.y + itemRadius);
          Path path = new Path();
          path.addArc(area, (float) fromAngle, (float) (toAngle - fromAngle));
          PathMeasure measure = new PathMeasure(path, false);
          float len = measure.getLength();
          int divisor = getChildCount();
          float divider = len / divisor;
  
          for (int i = 0; i < getChildCount(); i++) {
              float[] coords = new float[2];
              measure.getPosTan(i * divider + divider * .5f, coords, null);
              FilterMenu.Item item = (FilterMenu.Item) getChildAt(i).getTag();
              item.setX((int) coords[0] - item.getView().getMeasuredWidth() / 2);
              item.setY((int) coords[1] - item.getView().getMeasuredHeight() / 2);
          }
      }
docs: calculate and set position to menu items