Android:单击按钮时屏幕显示

时间:2015-10-08 11:16:15

标签: android

我一直在努力寻找解决这个问题的方法。 我有一个活动,有多个按钮和布局和一组按钮,比如btnA,btnB,btnC。现在点击btnA,我想离焦或模糊整个屏幕,除了那组按钮,btnA,btnB,btnC。有可能吗?

我尝试更改所有布局的alpha值,但它不起作用。

1 个答案:

答案 0 :(得分:1)

Integrate the RenderScript Support Library

然后添加此类以模糊所需的图像。

public class BlurBuilder {
private static final float BITMAP_SCALE = 0.4f;
private static final float BLUR_RADIUS = 7.5f;

public static Bitmap blur(Context context, Bitmap image) {
    int width = Math.round(image.getWidth() * BITMAP_SCALE);
    int height = Math.round(image.getHeight() * BITMAP_SCALE);

    Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);
    Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);

    RenderScript rs = RenderScript.create(context);
    ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
    Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
    theIntrinsic.setRadius(BLUR_RADIUS);
    theIntrinsic.setInput(tmpIn);
    theIntrinsic.forEach(tmpOut);
    tmpOut.copyTo(outputBitmap);

    return outputBitmap;
}}

然后将此代码添加到btnA的clickListner并将图像传递给它。

   Bitmap blurredBitmap = BlurBuilder.blur( getActivity(), originalBitmap );
   view.setBackgroundDrawable( new BitmapDrawable( getResources(), blurredBitmap ) );
相关问题