To trochę hack, ale pozwoliłoby to zrobić to w xml.
Jeśli wiesz, że, na przykład, górna obrazu wynosi X% wielkości dolnej jednej, a następnie można użyć layout_weight LinearLayout jest pozycja i wielkość górnego obrazu w procentach ekranu:
<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
Powyższy rozmiar ma rozmiar top_image na 50% ekranu z przesunięciem o 20% od lewej. Dopóki top_image ma rozmiar 50% bottom_image, zachowa on podobną skalę.
Alternatywnie "właściwym" sposobem na to jest prawdopodobnie zastąpienie onDraw() w widoku niestandardowym i użycie metod rysowania na płótnie.
Czy rozwiązałeś to pytanie? btw nie jestem pewien, czy widziałem, ale zaktualizowałem moją odpowiedź na problem 'Canvas.onDraw'. – techiServices
Nie, nie rozwiązany. Sądzę, że zrobię to programowo –