1
저는 사용자 정의 UI 요소 하이라이트로 작업하고 있습니다. 런타임시 특정 뷰 위에 모양과 같은 반 타원을 그릴 필요가 있습니다.뷰 위에 윤곽 타원을 동적으로 그립니다.
예 : 흰 타원 위에 노란색 반 타원을 그려야합니다.
도움말을 이해할 수있을 것이다.
저는 사용자 정의 UI 요소 하이라이트로 작업하고 있습니다. 런타임시 특정 뷰 위에 모양과 같은 반 타원을 그릴 필요가 있습니다.뷰 위에 윤곽 타원을 동적으로 그립니다.
예 : 흰 타원 위에 노란색 반 타원을 그려야합니다.
도움말을 이해할 수있을 것이다.
public class MyView extends View {
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
float width = (float) getWidth();
float height = (float) getHeight();
float radius;
if (width > height) {
radius = height/4;
} else {
radius = width/4;
}
Path path = new Path();
path.addCircle(width/2,
height/2, radius,
Path.Direction.CW);
Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setStrokeWidth(5);
paint.setStyle(Paint.Style.FILL);
float center_x, center_y;
final RectF oval = new RectF();
paint.setStyle(Paint.Style.STROKE);
center_x = width/2;
center_y = height/2;
oval.set(center_x - radius,
center_y - radius,
center_x + radius,
center_y + radius);
canvas.drawArc(oval, 90, 180, false, paint);
}
}
new MyView(this)
윤곽선이 지정된 뷰는 원이 아니므로 뷰 경계에 그려야합니다. –
캔버스를 추가 당신은 아무것도 시도 거란 말이에요을 그리는 데 사용 될 수 있는가? –
@ 산 토쉬이 방향으로 나아갈 수있는 방법을 알려주십시오. –