В дополнение к уже предложенным способам, есть еще один способ. Если вы знаете, каков будет размер этого представления, или вы можете программно определить его размер, вы можете переопределить метод onMeasure, который сообщает ОС, насколько велико представление. Например, если вы пишете игру или что-то, что использует Canvas
, вы можете использовать методы getHeight()
и getWidth()
, или вы можете получить размер напрямую из любых параметров, которые вы использовали при создании холста. OnMeasure прост в использовании:
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
setMeasuredDimension(width, height);
}
Обратитесь к документации , если вам нужна дополнительная информация о параметрах. (Если это не имеет смысла, не волнуйтесь, это не для меня тоже: P Но вы можете использовать это, фактически не беспокоясь о widthMeasureSpec и heightMeasureSpec, пока вы можете вычислить размер, который должен быть вид правильно.)