看ApiDemos里的PorterDuffXfermode时遇到的问题

1,直接运行的图片是


2,而大家见到的图片是


3,解决办法是加上关闭硬件加速的代码

public SampleView(Context context) {
            super(context);

            mSrcB = makeSrc(W, H);
            mDstB = makeDst(W, H);

            // make a checkerboard pattern
            Bitmap bm = Bitmap.createBitmap(new int[]{0xFFFFFFFF, 0xFFCCCCCC,
                            0xFFCCCCCC, 0xFFFFFFFF}, 2, 2,
                    Bitmap.Config.RGB_565);
            // 使用重复模式进行着色
            mBG = new BitmapShader(bm,
                    Shader.TileMode.REPEAT,
                    Shader.TileMode.REPEAT);
            // 对背景进行放大
            Matrix m = new Matrix();
            m.setScale(6, 6);
            mBG.setLocalMatrix(m);
            // 关闭硬件加速 来自: http://blog.csdn.net/u010335298/article/details/51983420
            setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }


猜你喜欢

转载自blog.csdn.net/willway_wang/article/details/72586117