android 渲染器的简单问题?[复制链接]

本帖最后由 chaoyue 于 2013-4-17 20:05 编辑

mValShader = new LinearGradient(rect.left, rect.top, rect.left, rect.bottom,0xffffffff, 0xff000000, TileMode.REPEAT);
mSatShader = new LinearGradient(rect.left, rect.top, rect.right, rect.top,0xffffffff, Color.RED, TileMode.REPEAT);
ComposeShader mShader = new ComposeShader(mValShader, mSatShader, PorterDuff.Mode.DARKEN);

mSatValPaint.setShader(mShader);
canvas.drawRect(rect, mSatValPaint);

在模拟器上运行就两种渲染的混合 ,但是在真机上就一直是 mSatShader 的颜色 ,mValShader没混合进去 ?????  
求解。。。。。 该怎么做 ???
chaoyue 33865查看 · 4回复 · 2013-4-2 17:55 有用(0
共5个回答
起床困难户 2013-4-2 20:58 回复
我就是来拿豆的。。。。。。。。。
chaoyue 2013-4-3 09:04 回复
顶。。。。。。。。。。。。。。。。。。
chaoyue 2013-4-3 14:30 回复
..........................................
chaoyue 2013-4-18 13:35 回复
晕  自己解决了  因为目前手机基本都是 4.0以上 的系统  需要代码关闭硬件加速
   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                    setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
需要登入后才可以评论 登录 | 立即注册