2016-09-21 73 views
0

我試圖在畫布上使用路徑類繪製形狀(shape1),但無法繪製它。但是我能夠使用路徑類創建形狀(shape2)Shape在Android上使用路徑在畫布上繪製自定義形狀

對於shape2

碼(點)下方

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

    int h = getMeasuredHeight(); 
    int w = getMeasuredWidth(); 

    int value = (w/2)-90; 
    Path path = new Path(); 
    path.lineTo(value, 0); 
    path.lineTo(value + 120, h); 
    path.moveTo(value + 120, h); 
    path.lineTo(-W, h); 
    path.close(); 
    canvas.drawPath(path, bgPaint); 

} 

我無法操縱上面的代碼實現shape1給出

+0

您是否已經逐步瞭解您的代碼並嘗試瞭解每個調用? –

+0

Yup,(0,0)是初始點,從這裏開始水平轉換爲(value,0),然後垂直和水平轉換爲(value + 120,h),之後水平向後移動到(-w, h)和路徑關閉 –

回答

2

它應該像

path.moveTo(0, 0); 
path.lineTo(value, 0); 
path.lineTo(value + delta, h); 
path.lineTo(delta, h); 
path.lineTo(0, 0); 

其中在您的案例中增量爲120

+0

啊,傻逼我。謝謝隊友 –

相關問題