В этом случае (когда элемент управления имеет полную ширину устройства) вы всегда можете просто использовать 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 );
}