2016-12-07 6 views
1

Прогресс бар XML как:Как рисовать круговой индикатор выполнения, как показано на рисунке ниже?

<ProgressBar 
      android:id="@+id/progressBarCircular" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="200dp" 
      android:layout_height="200dp" 
      android:layout_alignTop="@id/squareView_3" 
      android:layout_toRightOf="@id/squareView_3" 
      android:layout_marginTop="-105dp" 
      android:layout_marginLeft="40dp" 
      android:indeterminate="false" 
      android:max="100" 
      android:progress="0" 
      android:background="@color/BlackText" 
      android:progressDrawable="@drawable/circular_progressbar" /> 

circular_progressbar.xml как:

<?xml version="1.0" encoding="UTF-8" ?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/background"> 
    <shape 
      android:innerRadiusRatio="3" 
      android:shape="ring" 
      android:thicknessRatio="8.0"> 
     <solid android:color="@color/DarkGrey" /> 
    </shape> 
    </item> 
    <item android:id="@+id/progress"> 
    <shape 
      android:innerRadiusRatio="2.5" 
      android:shape="ring" 
      android:thicknessRatio="12.0"> 
     <solid android:color="@color/green" /> 
    </shape> 
    </item> 
</layer-list> 

и для настройки прогресса:

ProgressBar pb = (ProgressBar)view.FindViewById(Resource.Id.progressBarCircular); 
pb.Progress = 75; 

Это не дает мне прогресс бар, как показано ниже , Как я могу сделать индикатор выполнения, как показано ниже:
enter image description here

Любая помощь будет сердечно оценена. Благодарю, счастливое кодирование.

ответ

1

Попробуйте это решение, я думаю, что вы получите ваш желаемый результат

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background"> 
     <shape 
      android:angle="0" 
      android:shape="ring" 
      android:thickness="10dp" 
      android:useLevel="false"> 
      <solid android:color="#eeeeee" /> 
     </shape> 
    </item> 
    <item android:id="@android:id/progress"> 
     <rotate 
      android:fromDegrees="270" 
      android:toDegrees="270"> 
      <shape 
       android:angle="0" 
       android:shape="ring" 
       android:thickness="10dp" 
       android:useLevel="true"> 
       <solid android:color="#81ca33" /> 
      </shape> 
     </rotate> 
    </item> 
</layer-list> 

Ниже XML (circular_progressbar.axml) дал вид, как показано на рисунке: -

<?xml version="1.0" encoding="UTF-8" ?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/background"> 
    <shape 
      android:shape="ring" 
      android:innerRadius="90dp" 
      android:thickness="10dp" 
      android:useLevel="false"> 
     <solid android:color="#eeeeee" /> 
    </shape> 
    </item> 
    <item android:id="@+id/progress"> 
    <shape 
      android:shape="ring" 
      android:innerRadius="90dp" 
      android:thickness="10dp" 
      android:useLevel="true"> 
     <solid android:color="#81ca33" /> 
    </shape> 
    </item> 
</layer-list> 

И для вращения Я скорректировал атрибуты в виде ProgressBar как: -

<ProgressBar 
    android:id="@+id/progressBarView" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:indeterminateOnly="false" 
    android:rotation="-90" 
    android:max="100" 
    android:progressDrawable="@drawable/circular_progressbar" /> 
+0

Есть ли способ установить и обновить прогресс? –

+0

, который используется по умолчанию, чтобы установить прогресс для progressbar. Я думаю, что нет ничего из самоприменимого. –

+0

Thankyou @Nigam Patro. Ваш ответ прав, но это не дало прогресса (зеленое кольцо), как показано на рисунке, нужно настроить от и до градусов. Раздел обновления в вашем ответе дал точный вид, как на картинке. @ Nishant Verma изначально вы можете установить прогресс в xml, но для достижения в реальном времени вам необходимо установить программный прогресс свойства ProgressBar. Благодарю, счастливое кодирование. – codemilan

Смежные вопросы