カスタム ビューを使用していますが、一部の線が他の線よりも暗く見えることに気付きました。いろいろ調べた結果、それは感情ではなく現実であることがわかりました。それらを描画するコードは同じですが、複数回呼び出されます。一度呼び出された場合、線は薄い灰色になります。もう一度呼び出すと、線は濃い灰色になります。なんで?(Android 5.1 搭載の nexus 4)
bgPaint = new Paint();
bgPaint.setAntiAlias(true);
bgPaint.setStyle(Paint.Style.FILL);
bgPaint.setColor(Color.LTGRAY);
borderPaint = new Paint();
borderPaint.setAntiAlias(true);
borderPaint.setStyle(Paint.Style.STROKE);
borderPaint.setColor(Color.DKGRAY);
canvas.drawRoundRect(new RectF(tile.getX() + 1, tile.getY() + 1, tile.getXx() - 1, tile.getYy() - 1),
roundRadius, roundRadius, borderPaint);
canvas.drawRoundRect(new RectF(tile.getX() + 1, tile.getY() + 1, tile.getXx() - 1, tile.getYy() - 1),
roundRadius, roundRadius, bgPaint);
これは一例です。右下のタイルはより暗いです。
更新:最初のdrawRoundRect
担当者です。2 番目のものをコメントアウトしたので、それなしでこの動作を再現できます。しかし、正直なところ、2 回目の呼び出しで正しくレンダリングされます (濃い灰色)。しかし、最初の呼び出しで軽量化されるのはなぜでしょうか?