0
LinearLayout을 확장 한 CustomView에 사용자 정의 배경을 그리려고합니다.캔버스에서 사용자 정의 배경 그리기 문제 (안드로이드)
int mPositionX = 0;
int mPositionY = 0;
final int viewWidth = getMeasuredWidth();
final int viewHeight = getMeasuredHeight();
mPath.moveTo(mPositionX, mPositionY);
mPositionX = viewWidth;
mPath.lineTo(mPositionX, mPositionY);
mPositionY = viewHeight;
mPath.lineTo(mPositionX, mPositionY);
//draw bottom triangles
for(int i = 0; mPositionX >= 0; i++){
mPositionX -= HALF_BORDER_STEP;
mPositionY = i%2 == 0 ? mPositionY - BORDER_HEIGHT : mPositionY + BORDER_HEIGHT;
mPath.lineTo(mPositionX, mPositionY);
}
// move to left bottom corner
mPositionX = 0;
mPath.lineTo(mPositionX,mPositionY);
mPath.close();
canvas.clipPath(mPath);
canvas.drawPath(mPath, mCheckPaint);
super.draw(canvas);
나는이 문제가 :
은 여기 내의 onDraw() 메소드이다.
우선 배경을 설정하지 않으면 내 사용자 정의 배경이 표시되지 않으므로 내 배경에 안드로이드 : background = "@ color/transparent"를 작성했습니다.
두 번째 문제는 .addView(View view)
을 통해 일부보기를 추가하면 내 배경이 사라집니다.
나는 invalidate()
을 호출하려고했지만 아직 아무것도하지 못했습니다.
내가 뭘 잘못 했니?