2017-02-08 1 views
1

이 모양 (rect 또는 any way)을 그리기 위해 View android가 필요합니다. 단 하나의 곡선면이 있습니다. 1 개의 단색과 곡선 측면에 투명. 이걸 그리는 방법? 이 같은안드로이드는 사용자 정의보기에서 한쪽 만 곡선으로 그립니다.

public class CurveView extends View { 
    @Override 
    protected void onDraw(Canvas canvas) { 
     // how to ???? 
    } 
} 

:

enter image description here

감사합니다.

+2

'canvas.drawPath (경로, 페인트)' – pskink

+1

이 페이지의 정보를 원하시면, [안드로이드 경로] (읽기 https://developer.android.com /reference/android/graphics/Path.html) 코드를 작성하십시오. 오류나 예상과 다른 결과가 발생하면 돌아와서 특정 질문을하십시오. – Alex

+0

@Alex 안드로이드 경로와 그래픽은 복잡하고 오랜 시간이 걸립니다. 그걸 그려 줄 수있어? – grizzly

답변

1

솔루션 :

UPDATE :

public class MyView extends View { 

    private Paint paint; 
    private Path path; 

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

    public init() { 

     path = new Path(); 

     paint = new Paint(); 
     paint.setAntiAlias(true); 
     paint.setDither(true); 
     paint.setStyle(Paint.Style.Fill); 
     paint.setColor(Color.RED); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 

     canvas.drawColor(Color.TRANSPARENT); 
     paint.setShader(null); 

     float width = getWidth(); 
     float height = getHeight(); 

     path.moveTo(0, 0); 

     path.lineTo(0, height); 

     path.lineTo(width, height); 

     path.lineTo(width, 0); 

     path.cubicTo(4*width/6, 3*height/4, 2*width/6, 3*height/4, 0, 0); 

     paint.setColor(Color.RED); 
     paint.setStyle(Paint.Style.FILL); 
     canvas.drawPath(path, paint); 

    } 

} 
+0

"페인트"변수와 "경로"를 정의하는 부분을 보여줄 수 있습니까? 감사. –

+0

@FaustinoGagneten 업데이트 완료. 체크 아웃. 이 글을 쓰고 나서 당신의 견해를 재건하십시오. – grizzly

관련 문제