我正在研究我的活动形状,一个四边形。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setStyle(Paint.Style.FILL_AND_STROKE);
paint.setAntiAlias(true);
paint.setColor(Color.parseColor("#ffffff"));
paint.setAlpha(150);
// paint.setShader(new LinearGradient(0, 0, 0, getHeight(), Color.parseColor("#20ffffff"), Color.TRANSPARENT, Shader.TileMode.CLAMP));
Point point1_draw = new Point(0, 0);
Point point2_draw = new Point(DisplayUtil.getInstance().getScreenWidth() * 2, 0);
Point point3_draw = new Point((DisplayUtil.getInstance().getScreenWidth()), (DisplayUtil.getInstance().getScreenHeight() / 8) * 5);
Point point4_draw = new Point((DisplayUtil.getInstance().getScreenWidth() / 8) * 3, DisplayUtil.getInstance().getScreenHeight());
Point point5_draw = new Point(0, DisplayUtil.getInstance().getScreenHeight());
Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
path.moveTo(point1_draw.x, point1_draw.y);
path.lineTo(point2_draw.x, point2_draw.y);
path.lineTo(point3_draw.x, point3_draw.y);
path.lineTo(point4_draw.x, point4_draw.y);
path.lineTo(point5_draw.x, point5_draw.y);
path.lineTo(point1_draw.x, point1_draw.y);
path.close();
canvas.drawPath(path, paint);
}
我的问题是第2点: 边缘屏幕处的填充停止并且不完全填充形状。它停在 ScreenWidth 而不是 ScreenWidth * 2 只有她在屏幕上形状的可见部分呈现白色。
因此,当在形状上做一个TranslationX时,它会被切割..
任何人都知道如何强制绘制完整的形状,而不仅仅是它的可见部分?