2011-09-29 13 views
6

Tôi có chiều rộng 640px, chiều cao 208px PNG mà tôi đã đặt trong thư mục/drawable của mình và tôi đang gặp khó khăn khi đặt nó trong ImageView. Tôi muốn chia tỷ lệ hình ảnh sao cho nó tối đa hóa độ phân giải ngang và tôi muốn tỷ lệ này theo chiều dọc theo chiều dọc càng nhiều càng tốt để giữ tỷ lệ.ImageView trong RelativeLayout có phần đệm trên cùng và dưới cùng

Sự cố tôi gặp phải là ImageView của tôi kết thúc cao hơn mức cần thiết để vừa với hình ảnh. Bản thân hình ảnh trông hoàn hảo; rộng như màn hình và tỷ lệ. Nhưng ImageView dường như có đệm trên đầu và cuối. Từ những gì tôi có thể nói là có thể vẽ được rằng ImageView chứa nó quá cao.

Tôi không thể đăng hình ảnh vì tôi mới sử dụng SO, nhưng nếu tôi đã làm nó sẽ có chế độ xem Bố cục đồ họa. Khi tôi nhấp vào ImageView, hộp màu xanh dương thường xuất hiện xung quanh nó, nhưng với phần đệm trên cùng và dưới cùng, cùng một phần đệm tôi thấy trên thiết bị. Ngay cả khi tôi kéo hộp màu xanh để cố gắng thay đổi kích thước ImageView, tôi không được phép làm cho nó nhỏ hơn nó (có lẽ bởi vì ImageView nghĩ rằng drawable là cao, hoặc một cái gì đó). Từ những gì tôi có thể nói, điều này có thể có liên quan đến mật độ của hình ảnh ... ImageView kết thúc cao 312 pixel (208 * 1.5) trên thiết bị hdpi.

Đây là XML của tôi:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <ImageView android:id="@+id/back" android:src="@drawable/categoryheader2" 
     android:layout_width="wrap_content" android:layout_height="wrap_content"> 
    </ImageView> 
</RelativeLayout> 

Cảm ơn trước sự giúp đỡ nào!

Trả lời

10

Tôi đoán android:adjustViewBounds = "true" trên ImageView nên thực hiện thủ thuật. Gần đây tôi đã có một vấn đề tương tự, khi tôi đang cố gắng scale an image to fit the whole width of the view without loosing its proportions.

+0

câu hỏi cũ nhưng vẫn xuất hiện ở đây trong ứng dụng của tôi - cảm ơn bạn đã trả lời! Tôi sẽ thử và chấp nhận câu trả lời nếu nó hoạt động! –

+0

Thật đáng tiếc khi bạn không nhận được dấu trả lời. Nhưng bạn đã cứu tôi một số tìm kiếm nhờ – Sidewinder94

+0

Cảm ơn rất nhiều, nó có lẽ là tiêu chuẩn để biết điều này, rất ít người hỏi nó, đối với tôi như một người mới bắt đầu nó đến trong khá tiện dụng. –

1

bạn đã thử thẻ: android:scaleType="fitXY" hoặc android:scaleType="centerCrop" trên ImageView?

+0

cảm ơn phản hồi của bạn, nhưng không có nguyên mẫu nào hoạt động. fitXY chỉ làm cho hình ảnh cao hơn để vừa vặn (loại bỏ "đệm" nhưng làm xáo trộn tỷ lệ hình ảnh), centerCrop cũng làm cho hình ảnh cao hơn, nhưng làm cho nó rộng hơn để giữ tỷ lệ, nhưng tất nhiên bây giờ các cạnh được cắt . :( –