android 控件发光_Android的按钮,外发光

博主想要在Android应用中为按钮添加外部发光效果,而不是使用PNG图片。提供了通过代码实现这一效果的方法,包括创建Bitmap,应用模糊效果,并将处理后的Bitmap设置到按钮上。
摘要由CSDN通过智能技术生成

I know this topic has been discussed yet but I didn't find really what I wanna do.

I have those buttons (screenshot at the bottom). Now I want to add a outer glow. Is there an other possibility to do this than saving it as .png in the drawable folder? That would make much less work.

Greetings

Nils

解决方案

try this code

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;

}

and set the returned bitmap on your view

set in your imagebutton like this

btnClick.setImageBitmap(setGlow(R.drawable.ic_launcher));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值