Я решил эту проблему путем создания подкласса LinearLayout
и переопределения обратного вызова onMeasure(int,int)
, затем обновил XML макета, чтобы использовать мой новый тип макета.Я не могу опубликовать этот точный код, но я вызвал реализацию super.onMeasure(int,int)
и проверил, вернулась ли измеренная высота в качестве точной высоты моего фонового изображения.Если это так, я беру измеренную высоту всех дочерних видов, затем вычисляю новое значение высоты и передаю его в setMeasuredDimension(int,int)
.