我知道这个话题已经讨论过了,但我并没有找到我真正想做的事情。
我有那些按钮(屏幕截图在底部)。现在我想添加一个外部发光。除了在drawable文件夹中将其保存为.png之外,是否还有其他可能性?这样可以减少工作量。
问候 尼尔斯
答案 0 :(得分:4)
试试这段代码
public Bitmap setGlow(int resourceId) {
Bitmap bmp = null;
try {
int margin = 30;
int halfMargin = margin / 2;
int glowRadius = 15;
int glowColor = Color.rgb(0, 192, 200);
Bitmap src = BitmapFactory.decodeResource(getResources(),
resourceId);
Bitmap alpha = src.extractAlpha();
bmp = Bitmap.createBitmap(src.getWidth() + margin, src.getHeight()
+ margin, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bmp);
Paint paint = new Paint();
paint.setColor(glowColor);
paint.setMaskFilter(new BlurMaskFilter(glowRadius, Blur.OUTER));
canvas.drawBitmap(alpha, halfMargin, halfMargin, paint);
canvas.drawBitmap(src, halfMargin, halfMargin, null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bmp;
}
并在视图上设置返回的位图
像你这样在你的图像按钮中设置
btnClick.setImageBitmap(setGlow(R.drawable.ic_launcher));