Đây là một chút hack, nhưng nó sẽ cho phép bạn làm điều này trong xml.
Nếu bạn biết rằng, ví dụ, hình ảnh hàng đầu là X% kích thước của đáy một, sau đó bạn có thể sử dụng layout_weight LinearLayout để xác định vị trí và kích thước hình ảnh hàng đầu về tỷ lệ màn hình:
<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
Ở trên sẽ có kích thước top_image ở 50% màn hình với mức chênh lệch 20% từ bên trái. Miễn là top_image là 50% kích thước của bottom_image, điều này sẽ giữ quy mô tương tự.
Cách khác, cách "đúng" để thực hiện việc này có thể là ghi đè onDraw() trong chế độ xem tùy chỉnh và sử dụng các phương pháp vẽ canvas.
Nguồn
2011-02-24 15:33:04
bạn đã giải quyết câu hỏi này chưa? btw không chắc chắn nếu bạn đã nhìn thấy nhưng tôi cập nhật câu trả lời của tôi cho vấn đề 'Canvas.onDraw' của bạn. – techiServices
Không, không được giải quyết. Tôi đoán tôi sẽ làm điều đó theo chương trình –