2012-01-29 25 views
5

Tôi muốn hiển thị hình ảnh có đường viền. Các giải pháp dưới đây hoạt động tốt cho một số hình ảnh, nhưng không phải cho những người khác.Tỷ lệ hình ảnh không nhất quán trên Android cho android: scaleType = "fitCenter"

Cho đến nay, dự đoán tốt nhất của tôi là, nó hoạt động tốt cho hình ảnh nhỏ hơn nhưng không phù hợp với hình ảnh lớn.

Với hình ảnh nhỏ hơn, giải pháp hiển thị hình ảnh độc đáo với đường viền 2 pixel. Với hình ảnh lớn, hậu cảnh quá rộng.

Tôi đã thử nghiệm điều này với hình ảnh mà tôi đã chia tỷ lệ theo cách thủ công từ 2000 * 400 đến 200 * 40. Vì vậy, nó là cùng một hình ảnh, chỉ được tính trước.

Bất kỳ ý tưởng nào tại sao các ảnh lớn sẽ không co giãn theo cách giống với ảnh nhỏ hơn?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:background="#ffffff" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 
       android:gravity="center" > 

    <ImageView 
      android:id="@+id/testimage" 
      android:background="#000000" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/testimage2" 
      android:padding="2dip" 
      android:scaleType="fitCenter" 
      /> 
</LinearLayout> 
+0

Bạn có thể thử tất cả các kết hợp của scaleType. –

+0

Đó là những gì tôi đã làm và kết thúc với fitCenter. Tôi chắc chắn nó đúng, nhưng không phải. – tzrnee

Trả lời

5

Xóa nguyên mẫu và sử dụng android: adjustViewBounds = "true" cho Imageview của bạn.

+0

Yep, hoạt động tốt. Cám ơn! – tzrnee

Các vấn đề liên quan