2015-06-23 23 views
6

Tôi muốn hiển thị hình ảnh trong thông báo của mình bằng cách sử dụng hình ảnh lớn của kiểu trình tạo (và không sử dụng chế độ xem tùy chỉnh). Hình ảnh luôn bị cắt luôn. Làm cách nào để hiển thị hình ảnh phù hợp cho các thiết bị khác nhau tùy thuộc vào tỷ lệ màn hình?Thay đổi kích thước hình ảnh trong thông báo kiểu hình ảnh lớn

Tôi đã tìm kiếm và tôi có thông báo bằng cách chia tỷ lệ hình ảnh tùy theo chiều rộng màn hình nhưng tôi không thể triển khai và quá nhầm lẫn với ppi, dpi và tất cả các định dạng khác được cung cấp cho hình ảnh . Xin vui lòng bất cứ ai có thể cung cấp cho tôi với mã để chuyển đổi bitmap được hiển thị ở định dạng thích hợp trên các thiết bị khác nhau tùy thuộc vào kích thước màn hình?

Trả lời

0

Đây là cách bạn mở rộng bitmap nhận của bạn, nơi 2 và đối số thứ 3 là chiều rộng và chiều cao tương ứng

Bitmap b = Bitmap.createScaledBitmap(receivedBitmap, 120, 120, false); 

Trong trường hợp bạn muốn mở rộng quy mô bằng cách duy trì tỉ lệ theo chiều rộng của bạn, sau đó làm điều này

public Bitmap getResizedBitmap(Bitmap bm, int width) { 
    float aspectRatio = bm.getWidth()/
      (float) bm.getHeight(); 
    height = Math.round(width/aspectRatio); 

    Bitmap resizedBitmap = Bitmap.createScaledBitmap(
      bm, width, height, false); 

    return resizedBitmap; 
} 

và để tạo ra các thông báo với bitmap quy mô, sử dụng này

NotificationManager notificationManager = (NotificationManager) 
mContext.getSystemService(Context.NOTIFICATION_SERVICE); 
Notification notification = new Notification.Builder(mContext) 
     .setContentTitle("set title") 
     .setContentText("Swipe Down to View") 
     .setSmallIcon(mContext.getApplicationInfo().icon) 
     .setLargeIcon(receivedBitmap) 
     .setContentIntent(pendingIntent) 
     .setDefaults(Notification.DEFAULT_SOUND) 
     .setStyle(new Notification.BigPictureStyle() 
       .bigPicture(b)) 
     .setPriority(Notification.PRIORITY_HIGH) 
     .setVibrate(new long[0]) 
     .build(); 
Các vấn đề liên quan