Создание изогнутой линии как дуги в Android с использованием XML в Drawable
Что я сделал..
<item>
<rotate
android:fromDegrees="40"
android:toDegrees="20"
android:pivotX="25%"
android:pivotY="50%" >
<shape
android:shape="line"
android:top="1dip" >
<stroke
android:width="1dip"
android:color="#FF0000" />
</shape>
</rotate>
</item>
Он вращается, но не сгибается. Это должно быть согнуто, чтобы сформировать дугообразную форму
Любая идея?
1 ответ
Вы можете нарисовать ring
формировать, вращать его в зависимости от ваших предпочтений и использовать его с ProgressBar
как progressDrawable
с заданным прогрессом.
drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="150"
android:toDegrees="150">
<shape
android:shape="ring"
android:thickness="10dp"
android:innerRadius="20dp"
android:useLevel="true"><!-- this line fixes the issue for lollipop api 21 -->
<solid android:color="@color/colorPrimary"/>
</shape>
</rotate>
layout.xml
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="120dp"
android:layout_height="120dp"
android:progressDrawable="@drawable/widget_arc"
android:indeterminate="false"
android:max="100"
android:progress="67"
/>
Вы можете установить прогресс динамически, а также легко анимировать его
* Используйте значения измерений