Android:如何更改ProgressBar的高度?

问题描述:

我想知道什么是最简单的方法来改变Android的ProgressBar的高度?Android:如何更改ProgressBar的高度?

感谢,

托梅克

如果你的进度条在XML布局定义,它看起来像你定义它的高度,像这样:

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

但是我只是制作从this article猜测。

+2

API> 11如何将其自动添加到操作栏? – Taranfx 2012-04-03 06:50:37

诀窍是让您的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" /> 

进度绘制(horizo​​ntal_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

可绘制进度应该是什么根源? 编辑: clocksmith 2014-07-11 18:24:30

您需要更换

style=”?android:attr/progressBarStyleHorizontal” 

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

和layout_height将工作

android:layout_height="50dp" 
+0

工作就像一个魅力!谢谢 – 2015-03-11 11:03:41

+1

如何添加颜色等属性? – 2016-06-30 15:56:07

+0

您可以在SeekBar XML中使用“android:progressTint”和“android:progressBackgroundTint”设置进度和进度背景的颜色。 – Luke 2017-06-12 13:04:27

可以使用此代码:

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"