2012-08-07 72 views
8

Tôi đã xem xét NHIỀU câu hỏi trên Stackoverflow và đã thử nhiều cách giải quyết khác nhưng vẫn không hoạt động.Thay đổi kích thước hình ảnh cho vừa với Imageview

Những gì tôi muốn đạt được:

enter image description here enter image description here

Tuy nhiên, tôi đang đạt được điều này:

enter image description here

Đây là mã xml hiện tại của tôi:

<ImageView 
    android:id="@+id/image" 
    android:layout_width="fill_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/text" 
    android:layout_gravity="center" 
    android:adjustViewBounds="true" 
    android:scaleType="centerInside" 
    android:src="@drawable/ic_action_search" /> 

Trả lời

1

CenterInside, Thay đổi kích thước hình ảnh Để xem kích thước và độ phân giải của nó. Vì vậy, nếu một hình ảnh có kích thước 300 * 450 và chúng tôi đã đặt hình ảnh này thành một hình ảnh trung tâm loại quy mô, với kích thước 200 * 400, thì nó sẽ làm cho kích thước của hình ảnh thành 200 * 300, Theo kích thước mục tiêu, nó làm cho 200 là tối thiểu về chiều rộng và chiều cao. Tôi hy vọng tôi đủ rõ ràng. Trong trường hợp bạn cần đặt kích thước của kích thước chính xác, hãy sử dụng FItXY, theo đề nghị của Adeel.

3

Cách tốt nhất để đạt được điều này là chia tỷ lệ hình ảnh (bitmap) bằng Ma trận.

Một cách khác là sử dụng một thư viện trước đây tôi tạo ra mà thực hiện điều này cho bạn:

https://github.com/laurencedawson/ZoomableImageView

này sẽ tự động chia tỷ lệ ảnh để phù hợp với màn hình và cũng thêm pinch để phóng to.

+0

Làm thế nào để đi về việc sử dụng nó? Có bất kỳ hướng dẫn hoặc mã ví dụ nào không? Bởi vì tôi đang sử dụng nó để tải hình ảnh trong listview với lớp lazyload. Cảm ơn! – MrYanDao

+0

Ah xin lỗi đã không nhận ra bạn đang sử dụng chế độ xem danh sách, có thể không phải là tùy chọn tốt nhất (do cuộn dọc). Nếu bạn xem mã vẽ và chia tỷ lệ, nó sẽ giúp bạn. – Ljdawson

+0

Được rồi! Cảm ơn rất nhiều ^^ – MrYanDao

2

thêm

<ImageView 
android:id="@+id/image" 
android:layout_width="fill_parent" 
android:layout_height="match_parent" 
android:layout_below="@+id/text" 
android:layout_gravity="center" 
android:adjustViewBounds="true" 
android:scaleType="fitXY" 
android:src="@drawable/ic_action_search" /> 
0

Bạn muốn làm điều đó bên trong tập tin XML phải không?

<ImageView 
android:layout_width="size of image (in density pixels)" 
android:layout_height="size of image (in density pixels)" /> 

để ví dụ:

<ImageView 
android:layout_width="60dp" 
android:layout_height="60dp" /> 
Các vấn đề liên quan