En su build.gradle complemento:
compile 'com.android.support:percent:23.1.1'
y en su layout.xmlenvoltura lo que sea vista o ViewGroup desea seguir una relación dentro de un PercentFrameLayout donde:
android:layout_width="match_parent"
android:layout_height="wrap_content"
y luego para la vista o ViewGroup desea seguir una relación reemplazarandroide: layout_width y androide: layout_height:
app:layout_aspectRatio="178%"
app:layout_widthPercent="100%"
y se tiene una vista o ViewGroup donde la relación de aspecto es de 16: 9 (1.78: 1) con el ancho que coincide con el elemento principal y la altura ajustada en consecuencia.
Nota: Es importante que elimine las propiedades normales de ancho y alto. Lint se quejará, pero funcionará.
use wrap_content. Toma el mismo ancho y largo que la vista. –
posible duplicado de [Rellene el espacio restante con vista superficial de relación de aspecto fija] (http://stackoverflow.com/questions/10510371/fill-remaining-space-with-fixed-aspect-ratio-surfaceview) – Tim
Luché con esto por mí mismo un tiempo, y finalmente decidí que tenía que anular el onMeasure de la vista que quería restringir y establecer las dimensiones mediante programación. Ver el duplicado vinculado – Tim