2017-02-08 11 views
1

この形状(矩形または任意の方法)を描画するには、Viewアンドロイドが必要です。たった1つの曲線面を有する。 1つの単色で、湾曲した面に透明です。これを描く方法は?このようなカスタムビューでカーブ片側のみのAndroidドローイング

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

enter image description here

感謝。

+2

'canvas.drawPath(パス、塗料)' – pskink

+1

、[Androidのパス]このページの情報を読んで(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

"paint"変数と "path"を定義する部分を表示できますか?ありがとう。 –

+0

@FaustinoGagnetenが更新されました。チェックアウト。これを書いた後、あなたの意見を再構築してください。 – grizzly

関連する問題