Esto es un poco un truco, pero le permitiría hacer esto en xml.
Si sabe que, por ejemplo, la imagen de arriba es X% del tamaño de la de abajo, entonces se puede utilizar layout_weight de LinearLayout para posicionar y tamaño de la imagen superior, en términos de porcentaje de la pantalla:
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView android:id="@+id/left_filler" android:layout_weight="20"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<ImageView android:id="@+id/top_image" android:layout_weight="50"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<ImageView android:id="@+id/right_filler" android:layout_weight="30"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>
... bottom image
Lo anterior sería tamaño top_image al 50% de la pantalla con un desplazamiento del 20% desde la izquierda. Siempre que top_image tenga el 50% del tamaño de bottom_image, esto mantendrá una escala similar.
Alternativamente, la forma "correcta" de hacer esto es probablemente anular onDraw() en una vista personalizada y usar métodos de dibujo de lienzo.
¿Ha resuelto esta pregunta? Por cierto, no estoy seguro de haberlo visto, pero actualicé mi respuesta al problema 'Canvas.onDraw'. – techiServices
No, no resuelto. Supongo que lo haré programáticamente –