如何创建水平加载进度条?


Answers:


69

Widget.ProgressBar.Horizontal如果我设置的话,它在我的手机上android:indeterminate="true"


7
另外,请确保将高度设置为wrap_content(或更大),我已经花了将近一个小时才弄清楚为什么进度条没有显示出来……-.-
milosmns 2014年

178

只需添加一条STYLE线,您的进度就会变为水平:

<ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/progress"
        android:layout_centerHorizontal="true"      
        android:layout_centerVertical="true"      
        android:max="100" 
        android:progress="45"/>

它有效,但不能使用动态单杠...需要在进度上保持恒定45
Tarit Ray

+1,因为这是最适合我的选择。如何设置进度颜色(不是背景)?
塔斯林·奥塞尼

1
@TaslimOseni,您可以通过progress.setProgressTintList(ColorStateList.valueOf(Color.GREEN));设置进度条颜色。
Akash kumar,

63

用于使用新的进度条

style="?android:attr/progressBarStyleHorizontal"

用于旧的灰色进度条

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

在这一步中,您可以通过设置minHeight来更改高度

完整的XML代码是:

    <ProgressBar
    android:id="@+id/pbProcessing"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvProcessing"
    android:indeterminateOnly="true"/>

indeterminateOnly设置为true以获得不确定的水平进度条


1
两种样式有什么区别?
TWiStErRob '16

12

布局中的进度栏

<ProgressBar 
               android:id="@+id/download_progressbar"
               android:layout_width="200dp"
               android:layout_height="24dp"
               android:background="@drawable/download_progress_bg_track"
               android:progressDrawable="@drawable/download_progress_style"
               style="?android:attr/progressBarStyleHorizontal"
               android:indeterminate="false"
               android:indeterminateOnly="false" />

download_progress_style.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/progress">
    <scale 
      android:useIntrinsicSizeAsMinimum="true" 
      android:scaleWidth="100%" 
      android:drawable="@drawable/store_download_progress" />
</item>


4

为我工作,可以尝试相同

<ProgressBar
    android:id="@+id/determinateBar"
    android:indeterminateOnly="true"
    android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
    android:indeterminateDuration="10"
    android:indeterminateBehavior="repeat"
    android:progressBackgroundTint="#208afa"
    android:progressBackgroundTintMode="multiply"
    android:minHeight="24dip"
    android:maxHeight="24dip"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:visibility="visible"/>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.