Android:如何更改ProgressBar的高度?

Tom*_*mek 15 java layout user-interface android progress-bar

我想知道改变Android中ProgressBar高度的最简单方法是什么?

谢谢,

托梅克

Jon*_*n W 25

如果在XML布局中定义了进度条,则看起来像是这样定义其高度:

<ProgressBar  
android:minHeight="20dip" 
android:maxHeight="20dip"/>
Run Code Online (Sandbox Code Playgroud)

不过我只是在猜这篇文章.

  • API> 11如何自动添加到操作栏? (2认同)

Sli*_*ito 17

诀窍是让你的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" />
Run Code Online (Sandbox Code Playgroud)

进度drawable(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>
Run Code Online (Sandbox Code Playgroud)


rno*_*nko 16

你需要更换

style=”?android:attr/progressBarStyleHorizontal”
Run Code Online (Sandbox Code Playgroud)

style="@android:style/Widget.ProgressBar.Horizontal"
Run Code Online (Sandbox Code Playgroud)

和layout_height将工作

android:layout_height="50dp"
Run Code Online (Sandbox Code Playgroud)