Какой простой способ сделать представление layout_width = "match_parent" и сделать высоту равной его ширине? - PullRequest
0 голосов
/ 11 июля 2011

Мне бы хотелось, чтобы представление в стиле, аналогичном обложке альбома в приложении Rdio ( img )

Я не знаю, как мне поступить об этом. Я хочу загрузить растровое изображение в представление, если это вообще влияет на решение.

1 Ответ

2 голосов
/ 12 июля 2011

В этом случае (когда элемент управления имеет полную ширину устройства) вы всегда можете просто использовать getWindowManager().getDefaultDisplay().getWidth();, чтобы получить ширину, а затем вручную установить высоту.

Если вы не используетеполной ширины экрана, тогда вам, вероятно, потребуется переопределить onMeasure в классе View и установить высоту, соответствующую ширине, например:

@Override protected void onMeasure( int widthMeasureSpec, int heightMeasureSpec )
{
    viewWidth = MeasureSpec.getSize( widthMeasureSpec );
    viewHeight = MeasureSpec.getSize( heightMeasureSpec );

    if(viewWidth != 0) viewHeight = viewWidth;
    setMeasuredDimension( viewWidth, viewHeight );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...