Я сделал пользовательский вид с переопределенным onDraw()
, который рисует растровое изображение на холсте. Когда я укажу, что я хочу, чтобы он был wrap_content в файле макета, он по-прежнему заполняет весь экран. onMeasure()
говорит следующее:
По умолчанию базовый класс меры измеряет размер фона, если только
MeasureSpec
не разрешен размер большего размера. Подклассы должны переопределять onMeasure (int, int), чтобы обеспечить лучшие измерения их содержимого.
Хорошо, так что я знаю, что мне нужно переопределить onMeasure()
и работать с MeasureSpec
. В соответствии с этим ответом
UNSPECIFIED означает, что для параметра layout_width или layout_height установлено значение wrap_content. Вы можете быть любым размером, который вы хотели бы.
Теперь я перехожу к своей проблеме, как я могу onMeasure()
измерить растровое изображение, которое еще не создано, и измерить/обернуть его? Я знаю, что другие Android-представления ДОЛЖНЫ что-то делать, потому что они не блокируют весь экран, если он установлен в wrap_content. Спасибо заранее!