Ответ 1
Это немного взломать, но это позволит вам сделать это в xml.
Если вы знаете, что, например, верхнее изображение составляет X% от размера нижней, то вы можете использовать LinearLayout layout_weight для размещения и размера верхнего изображения в процентах экрана:
<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
Вышеуказанный размер будет размером top_image на 50% экрана со смещением на 20% слева. Пока top_image равен 50% размера bottom_image, это будет поддерживать аналогичный масштаб.
В качестве альтернативы, "правильный" способ сделать это, вероятно, переопределить onDraw() в пользовательском представлении и использовать методы рисования холста.