2010-04-29 3 views

ответ

24

Если индикатор определяется в макете XML, он выглядит, как вы определить его высоту примерно так:

<ProgressBar 
android:minHeight="20dip" 
android:maxHeight="20dip"/> 

Однако я просто делаю догадайтесь от this article.

+2

Как насчет API> 11, где его автоматически добавляется в панель действий? – Taranfx

16

Хитрость заключается в том, чтобы ваш ProgressBar использовал «старый», ни одного ореола, стиля. В противном случае он будет использовать изображение с 9 патчами в качестве достижимого прогресса, и вы не сможете изменить высоту, если не будете манипулировать изображением. Так вот что я сделал:

прогрессбар:

<ProgressBar 
    android:id="@+id/my_progressbar" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="10dp" 
    android:progressDrawable="@drawable/horizontal_progress_drawable_red" /> 

прогресс вытяжке (horizontal_progress_drawable_red.xml):

<?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> 
      <solid android:color="#808080"/> 
     </shape> 
    </item> 

    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape> 
       <solid android:color="#80ff0000"/> 
      </shape> 
     </clip> 
    </item> 

    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <solid android:color="#ff0000"/> 
      </shape> 
     </clip> 
    </item> 

</layer-list> 
+1

Каков корневой элемент для выполнения, который должен быть выполнен? EDIT: clocksmith

16

Вы должны заменить

style=”?android:attr/progressBarStyleHorizontal” 

в

style="@android:style/Widget.ProgressBar.Horizontal" 

и layout_height будет работать

android:layout_height="50dp" 
+0

Работали как очарование! Спасибо –

+1

Как добавить атрибуты, такие как цвет ?! –

+0

Вы можете установить цвет прогресса и фона прогресса с помощью «android: progressTint» и «android: progressBackgroundTint» в вашем XML-формате SeekBar. – Luke

1

Можно использовать этот код:

mProgressBar.setScaleY(3f); 

Или использовать собственный стиль

с ценностно> styles.xml

<style name="tallerBarStyle" parent="@android:style/Widget.SeekBar"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:minHeight">8dip</item> 
    <item name="android:maxHeight">20dip</item> 
</style> 

Тогда в ваш ProgressBar добавить:

style="@style/tallerBarStyle" 
Смежные вопросы