小编Dar*_*ova的帖子

Android 6.0错误地处理drawCircle方法

在我的应用程序中,我需要使用位图和drawCircle()方法绘制圆圈.

一切都很好,完全符合Android 6.0的要求.

它仍然在所有以前的版本上绘制圆圈,但是当我在6.0上使用应用程序时绘制矩形.但是,如果我将其更改为填充,它会在api 22和api 23中绘制一个圆圈. 任何人都有同样的问题或任何想法为什么会发生这种情况?

这是源代码和屏幕截图(左侧API 23上运行的应用程序,右侧是API 22).在不同的api上使用相同的应用程序

 public final class Circle1View extends View {

    private float xCenter, yCenter;
    private Bitmap grid = null;

    public Circle1View (Context context) {
        super(context);
        init();
    }

    private void init() {
        setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        int w = getWidth();
        int h = getHeight();
        xCenter = w / 2;
        yCenter = h / 2;

        drawBitmaps(w, h);

        canvas.translate(xCenter, yCenter);
        canvas.scale(xCenter, yCenter);

        canvas.drawBitmap(grid, null, new RectF(-1, -1, 1, 1), …
Run Code Online (Sandbox Code Playgroud)

android android-6.0-marshmallow

8
推荐指数
1
解决办法
457
查看次数

标签 统计

android ×1

android-6.0-marshmallow ×1