Hi,
I am displaying a grid of icons of all the applications on my device
and I found after I resize them to be all same width and height they
appear on screen some what blurred or foggy . Also the Icon Text
looks blurred . I have put code snippet below that actually resizing
the icons.
Please let me know if I am missing some thing to make them appear
sharp on screen.
Thanks a lot.
varinag
-------------------------------------------------
if (!info.filtered) {
int width = 42;
int height= 42;
final int iconWidth = icon.getIntrinsicWidth();
final int iconHeight = icon.getIntrinsicHeight();
if (icon instanceof PaintDrawable) {
PaintDrawable painter = (PaintDrawable) icon;
painter.setIntrinsicWidth(width);
painter.setIntrinsicHeight(height);
}
if (width > 0 && height > 0 && (width < iconWidth ||
height < iconHeight)) {
final float ratio = (float) iconWidth / iconHeight;
if (iconWidth > iconHeight) {
height = (int) (width / ratio);
} else if (iconHeight > iconWidth) {
width = (int) (height * ratio);
}
final Bitmap.Config c =
icon.getOpacity() != PixelFormat.OPAQUE ?
Bitmap.Config.ARGB_8888 :
Bitmap.Config.RGB_565;
// final Bitmap thumb = Bitmap.createBitmap(80, 80, c);
final Bitmap thumb = Bitmap.createBitmap(42, 42, c);
final Canvas canvas = new Canvas(thumb);
canvas.setDrawFilter(new
PaintFlagsDrawFilter(Paint.DITHER_FLAG, 0));
// Copy the old bounds to restore them later
// If we were to do oldBounds = icon.getBounds(),
// the call to setBounds() that follows would
// change the same instance and we would lose the
// old bounds
mOldBounds.set(icon.getBounds());
// icon.setBounds(0, 0, 80, 80);
icon.setBounds(0, 0, width, height);
icon.draw(canvas);
icon.setBounds(mOldBounds);
icon = info.icon = new BitmapDrawable(thumb);
info.filtered = true;
}
}
final TextView textView = (TextView)
convertView.findViewById(R.id.label);
textView.setCompoundDrawablesWithIntrinsicBounds(null, icon,
null, null);
textView.setText(info.title);
return convertView;
}
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en