我想創建一個圓形邊的圓形ProgressBar。我曾嘗試CircleProgress庫這裏舉辦圓形進度條中的圓形邊Android
https://github.com/lzyzsd/CircleProgress
但DonutProgress不具有圓形邊緣,我想。但與我的自定義progreesDrawable我也無法實現它。
我想設計進度條如下圖所示
一角四捨五入標記的圖片。
我custom_progress_bar.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/progress">
<rotate
android:fromDegrees="90"
android:toDegrees="90"
android:pivotX="50%"
android:pivotY="50%" >
<shape
android:innerRadiusRatio="2.5"
android:shape="ring"
android:thicknessRatio="15.0" >
<corners
android:radius="5dp"
android:topRightRadius="5dp"
android:topLeftRadius="5dp"
/>
<gradient
android:centerColor="#8AFF00"
android:endColor="#006554"
android:startColor="#006554"
android:type="sweep" />
</shape>
</rotate>
</item>
</layer-list>
我的佈局文件
<RootLayout...>
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="152dp"
android:layout_height="152dp"
android:layout_centerInParent="true"
android:progress="100"
android:indeterminate="false"
android:progressDrawable="@drawable/back_progress" />
<ProgressBar
android:id="@+id/progressWheel"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="152dp"
android:layout_height="152dp"
android:layout_centerInParent="true"
android:progress="90"
android:indeterminate="false"
android:progressDrawable="@drawable/circular_progress_bar" />
</RootLayout...>
而且我不得不用兩個進度條相互重疊僅僅是實現後臺的東西(灰色)。我試圖在我的custom_progress_bar.xml中定義背景形狀,但它不起作用,所以我必須這樣做。我知道它不是解決方案,但我無法通過其他方式實現。
任何人都可以幫助我以更好的方式設計這個進度條圓邊。
實現這些結果的最佳方法是創建您自己的自定義drawable。使用一個路徑來創建主要的「弧」和一個普通的'drawCircle'來創建圓角邊緣 – Budius
謝謝@Budius,請給出任何參考或位代碼示例,因爲我沒有太多處理drawable的經驗Android系統。 – pyus13
@Budius你能幫忙嗎? – pyus13