Tôi có hình ảnh nhỏ hơn vùng chứa mà tôi muốn nó vừa với bên trong. Tôi muốn hình ảnh giãn ra, giữ tỷ lệ khung hình của nó, với kích thước lớn nhất có thể.Cách tạo hình ảnh càng lớn càng tốt trong khi duy trì tỷ lệ khung hình
Để minh họa cho vấn đề này:
<ImageView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/thumbnail"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
Các ImageView
trên sẽ được kéo dài để điền vào chiều rộng của thùng sơn. Các @drawable
nó chứa cũng sẽ kéo dài dọc theo trục x để phù hợp với chiều rộng của ImageView
đó là hoàn hảo. Tuy nhiên, vấn đề là kích thước có nhãn wrap_content
, trong trường hợp này chiều cao, vẫn giữ nguyên kích thước như chiều cao ban đầu của @drawable
s.
Tôi đã đọc tài liệu về ScaleType here và không thể tìm thấy câu trả lời ở đó.
Những hình ảnh dưới đây mô tả mã trên:
Current behaviour Desired Behaviour
Sửa
Một ImageView
cho scaleType="fitCenter"
sẽ mở rộng một cách chính xác/thu nhỏ @drawable
bên trong của nó để phát triển càng lớn càng tốt trong khi giữ lại ing tỷ lệ khung hình của nó.
Các kích thước ImageView
s được xác định trước khi @drawable
được chia tỷ lệ theo bất kỳ cách nào. Các kích thước ImageView
không được thực hiện bằng cách mở rộng nó có chứa @drawable
.
Đối với tôi, đây là một vấn đề phổ biến, một vấn đề mà tôi chưa bao giờ tìm thấy một giải pháp sạch. Thêm vào nền 9 bản vá cho một khung và thậm chí còn tệ hơn khi thử và sửa chữa. Tôi khá chắc chắn đây là một cái gì đó bạn sẽ phải làm lập trình, nhưng nó sẽ được tốt đẹp nếu ai đó không có một giải pháp cho việc này. – kcoppock
+1 cho câu hỏi được mô tả đầy đủ – Merlin