2014-04-14 88 views
4

I want to create a layout as displayed in picture . 如何在android中創建類似圖片的佈局?

我跟許多博客,但沒有得到正確的答案。主要問題是創建循環的進展,這是藉助一些圖形顯示的。但是不能走向成功。

Path p = new Path(); 
    p.moveTo(70, 10); 
    p.lineTo(25, 100); 
    p.lineTo(100, 50); 
    p.lineTo(0, 50); 
    p.lineTo(75, 100); 
    p.lineTo(50, 0); 
    // chk 

    // //complete code 
    ShapeDrawable progress1 = new ShapeDrawable(new ArcShape(180, -45)); 
    progress1.setIntrinsicHeight(50); 
    progress1.setIntrinsicWidth(50); 
    progress1.getPaint().setColor(Color.BLUE); 
    progress1.getPaint().setStyle(Style.STROKE); 
    progress1.getPaint().setStrokeWidth(5); 

    ShapeDrawable progress2 = new ShapeDrawable(new ArcShape(0, 180)); 
    progress2.setIntrinsicHeight(50); 
    progress2.setIntrinsicWidth(50); 
    progress2.getPaint().setARGB(50, 200, 54, 54); 
    progress2.getPaint().setStyle(Style.STROKE); 
    progress2.getPaint().setStrokeWidth(5); 
    iView.setImageDrawable(progress2); 
    iView1.setImageDrawable(progress1); 

enter image description here

+0

哪些部件被卡住? – arnorhs

+0

首先,我無法以循環形式創建進度條,並且無法像圖片那樣創建多彩。在android進度條非常簡單。所以現在我甚至不知道該怎麼做。但目前我正試圖在畫布的幫助下做到這一點,但是我無法畫出圓形的東西,這也是圓形的。 –

回答

1

不知道哪一部分你被困時,你可能做的是什麼使你在那裏它的onDraw方法定義繪圖代碼自定義視圖。

您可能會在相應的目標顏色中使用粗筆畫繪製弧線。爲了使圓弧的末端變圓,配置Paint對象的屬性以滿足您的需要,iirc正確的方法是使用Paint#setStrokeCap

+0

但正如我在圖片中所示,你可以建議我,我如何隱藏線條。是正確的方法來按照所顯示的第一張圖片所需的佈局..謝謝 –

+0

我不會使用可繪製的形狀,並直接使用畫布的drawRect方法 – arnorhs

相關問題