2011-06-07 7 views
5

trong ứng dụng của tôi, tôi có hình ảnh lớn, tôi hiển thị hình ảnh ở chế độ xem hình ảnh theo mã cứng có kích thước là 60 X 60 dp. làm thế nào để giảm kích thước hình ảnh như kích thước ngón tay cái móng tay trong android. là có cách lập trình. bởi vì giả sử tôi chạy ứng dụng của mình ở các bố cục thiết kế có kích thước phân giải khác nhau có thể khác nhau. nhu cầu của tôi là nếu tôi chạy ứng dụng của tôi ở bất kỳ kích thước hình ảnh thiết bị có độ phân giải nào không nên khác nhau. làm thế nào để làm điều đó trong Android. làm ơn giúp tôi.cách giảm kích thước hình ảnh lớn xuống kích thước hình thu nhỏ trong android

i hình ảnh mã cứng bằng mã sau.

<ImageView android:id="@+id/img" android:layout_width="60dp" 
    android:layout_height="60dp" 
    android:layout_centerVertical="true" /> 

Trả lời

15

cách đơn giản nhất là

int h = 48; // height in pixels 
int w = 48; // width in pixels  
Bitmap scaled = Bitmap.createScaledBitmap(largeBitmap, h, w, true); 

và chi tiết này được gọi là hình ảnh mở rộng quy mô

này sẽ giúp bạn http://zerocredibility.wordpress.com/2011/01/27/android-bitmap-scaling/

+0

Vui lòng cho tôi biết Điều này có làm giảm kích thước tệp không? và sau khi thay đổi kích thước hình ảnh, chúng tôi có thể tiết kiệm một số nơi khác trong sdcard – Shah

+0

điều này thực sự sẽ giảm kích thước tệp nhưng chúng tôi không đề cập đến SDCard, nó sẽ không được lưu trữ trên đó và trong trường hợp này hoạt động hoàn thành được thực hiện bộ nhớ nội bộ lợi ích của việc giảm kích thước sẽ được tận dụng bởi chính bộ nhớ trong. –

7

Thêm các yếu tố sau trong file xml của bạn sau đó bạn nhận được câu trả lời của bạn.

android:scaleType="fitXY" 
android:layout_width="48dip" 
android:layout_height="48dip" 

Tôi hy vọng điều này hữu ích cho bạn.