code: int getColumnByXWithShift(int x, int shiftEveryStep) {
          checkForInit();
          int sum = 0;
          // header offset
          int tempX = x - mHeaderRowWidth;
          if (tempX <= sum) {
              return 0;
          }
          for (int count = mColumnWidths.length, i = 0; i < count; i++) {
              int nextSum = sum + mColumnWidths[i] + shiftEveryStep;
              if (tempX > sum && tempX < nextSum) {
                  return i;
              } else if (tempX < nextSum) {
                  return i - 1;
              }
              sum = nextSum;
          }
          return mColumnWidths.length - 1;
      }
docs: Return column number which bounds contains X
  
  @param x coordinate
  @return column number