2017-01-09 2 views
0

У меня есть значок микрофона и окружающих значок микрофона, мне нужно поместить прогресс бар, чтобы справиться с некоторыми запущенного процесса, как показано ниже:Как сделать ProgressBar стиля большим Разбавитель по ширине android?

<ImageView 
      android:id="@+id/iv_mic_movable" 
      android:layout_width="60dp" 
      android:layout_height="60dp" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginTop="68dp" 
      android:src="@drawable/record" /> 

     <ProgressBar 
      android:id="@+id/pb_assist" 
      style="?android:attr/progressBarStyleLarge" 
      android:layout_width="90dp" 
      android:layout_height="90dp" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginTop="53dp" 
      android:visibility="gone" /> 

Приведенный выше код показывает интерфейс следующим образом:

enter image description here

Я хочу показать индикатор выполнения, как этот, но этот прогресс очень толстый. Как сделать его несколько тоньше с 1dp?

+0

Проверить https://github.com/lopspower/CircularProgressBar – Shailesh

+0

проверить мой обновленный ответ – Noorul

ответ

0

попытаться добавить это ниже стиль на вашей XML макет progessBar,

style="@android:style/Widget.ProgressBar.Large.Inverse" 

Update

пытаются добавить это свойство:

android:progressDrawable="@android:drawable/progress_horizontal" 
+0

я попробовал, но это дает некоторый различный прогресс бар, то мое требование. Поэтому я попробовал стиль = "? Android: attr/progressBarStyleLargeInverse". Но результат был таким же. Я также попытался установить фиксированный dp для обертывания контента, но тогда индикатор выполнения не устанавливает точно вокруг изображения. –

+0

Мне нужно, чтобы индикатор выполнения выглядел тоньше. Он очень толстый. –

+0

, так что вам нужно двигаться вперед в прогресс мыслителя. правильно? – Noorul

1

Вот обычай ProgressBar. Вы можете установить толщину хода внутри формы.

<ProgressBar 
     style="?android:attr/progressBarStyleHorizontal" 
     android:layout_width="172dp" 
     android:layout_height="172dp" 
     android:indeterminate="false" 
     android:max="100" 
     android:visibility="visible" 
     android:progress="0" 
     android:layout_gravity="center_horizontal" //updated line 
     android:layout_marginTop="53dp"   //updated line 
     android:background="@drawable/circle_shape" 
     android:progressDrawable="@drawable/circle_progress_foreground" 
     /> 

circle_shape.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="ring" 
android:innerRadiusRatio="2.2" 
android:thickness="5dp" 
android:useLevel="false"> 

<solid android:color="#ABBAC2" /> 

</shape> 

circle_progress_foreground.xml

Изменение android:thickness согласно вашему требованию

<?xml version="1.0" encoding="utf-8"?> 
<rotate xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromDegrees="270" 
android:toDegrees="270"> 

<shape android:useLevel="true" 
android:innerRadiusRatio="2.7" 
android:shape="ring" 
android:thickness="2dp" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
/> 
<solid android:color="#fbcb09"/> 
</shape> 
</rotate> 
+0

Я пробовал ваш код. Результат не соответствует требованию. Прогресс не работает. Он появляется в левой позиции. –

+0

Это идея, вы можете добиться этого. Вам нужно изменить выравнивание 'progressbar'. см. ответ обновления! –

0

Вы можете Кроме этого добиться путем добавления Mimimum ширины и высоты

<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="23dp" 
    android:layout_marginTop="20dp" 
    android:indeterminate="false" 
    android:max="100" 
    android:minHeight="5dp" 
    android:minWidth="200dp" 
    android:progress="1" />