Хорошо, я понял. Я расширил класс Spinner, добавил переменную для сохранения того, что это «первый» проход, и переопределил метод onDraw. После того, как super.OnDraw () вызван, я могу быть уверен, что макет был нарисован в первый раз, и все данные передаются в счетчик, так что следующий метод requestLayout () исправит все ошибки макета. поэтому я просто проверяю, является ли это первым onDraw с моей переменной, если да, я вызываю requestLayout () и устанавливаю переменную в false. это не самый лучший способ, и, может быть, есть еще одно событие, которое я мог бы использовать, которое выполняется перед розыгрышем, но этого достаточно для моих нужд.