这是在同一个Activity中的同一布局中使用测试VIEw放置的测试SurfaceVIEw并排发生的.
有关信息,在活动类我打电话window.setFormat(PixelFormat.RGBA_8888)切换活动到32位颜色,因为这是在过去的溶液,消除在梯度(绑扎然而,笔者认为,这是没有某个Android级别需要更长时间,默认为32位).我的minSdkVersion是8.
出现在简单扩展VIEw和SurfaceVIEw的onDraw()中的测试代码是:
Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); paint.setAntiAlias(false); paint.setFilterBitmap(false); paint.setDither(false); Shader shader = new linearGradIEnt( 0,200,new int[]{0xff150d2f,0xff432b96},null,Shader.TileMode.CLAMP ); paint.setShader(shader); canvas.drawRect(0,getWIDth(),getHeight(),paint);
以下是显示上面的SurfaceVIEw和下面的普通VIEw的屏幕截图.我意识到这个例子中的条带非常微妙;当渐变扫过较小的颜色带时,它会更加明显.
有什么建议吗?
崔佛
解决方法 最后通过将其添加到SurfaceVIEw的构造函数中找到了解决方案:getHolder().setFormat(PixelFormat.RGBA_8888);总结
以上是内存溢出为你收集整理的android – Gradient在SurfaceView中显示为带状,但在普通视图中看起来非常流畅全部内容,希望文章能够帮你解决android – Gradient在SurfaceView中显示为带状,但在普通视图中看起来非常流畅所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)