2012-08-24 76 views

回答

1

为防万一别人面临同样的问题,我最终以下面的方式实现它。

我写了一个通用的方法,它需要Drawable和所需的宽度和高度作为参数。它基于给定的规格返回缩放的(Bitmap)Drawable

public Drawable getScaledIcon(Drawable drawable, int dstWidth, int dstHeight) { 

    Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); 
    Bitmap bitmapScaled = Bitmap.createScaledBitmap(bitmap, dstWidth, dstHeight, false); 

    return new BitmapDrawable(getResources(), bitmapScaled); 
} 

用于设定上下文菜单头图标的方法,作为一个参数要么经由ContextMenu.setHeaderIcon(int iconRes)资源ID或经由ContextMenu.setHeaderIcon(Drawable icon)一个Drawable

将后者与getScaledIcon(...)结合使用,就完成了! :)

相关问题