Wie erstelle ich einen horizontalen Ladefortschrittsbalken?

Lesezeit: 3 Minuten

Wenn Sie eine Android-Anwendung deinstallieren oder eine Konfiguration vornehmen, wird ein solcher horizontaler Fortschrittsbalken angezeigt, wie im folgenden Bild:

Fortschrittsanzeige

Es ist nicht der gleiche Stil wie @android:style/Widget.ProgressBar.Horizontal.

Wie verwende ich es in meiner eigenen Anwendung?

  • stackoverflow.com/questions/13964520/…

    – StepanM

    3. April 2013 um 13:27 Uhr

Benutzer-Avatar
Vita

Fügen Sie einfach ein hinzu STIL Linie und Ihr Fortschritt wird horizontal:

<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"/>

  • Es funktioniert, aber keine dynamische horizontale Leiste … brauche es konstant auf Fortschritt 45

    – Tarit Ray

    24. August 2017 um 6:55 Uhr


  • +1, weil dies die erste Option ist, die für mich funktioniert hat. Wie stelle ich die Fortschrittsfarbe (nicht den Hintergrund) ein?

    – Taslim Oseni

    19. Januar 2019 um 7:47 Uhr

  • @TaslimOseni Sie können die Farbe des Fortschrittsbalkens einstellen durch progress.setProgressTintList(ColorStateList.valueOf(Color.GREEN));

    – Akash Kumar

    24. Juli 2020 um 19:14 Uhr

es ist Widget.ProgressBar.Horizontal auf meinem Handy, wenn ich einstelle android:indeterminate="true"

  • Achten Sie auch darauf, die Höhe auf einzustellen wrap_content (oder etwas Größeres), ich habe fast eine Stunde verloren, um herauszufinden, warum der Fortschrittsbalken nicht angezeigt wurde … -.-

    – Milosmen

    18. Dezember 2014 um 12:26 Uhr

Benutzer-Avatar
Jaspinder Kaur

Für die Verwendung des neuen Fortschrittsbalkens

style="?android:attr/progressBarStyleHorizontal"

für den alten grauen Fortschrittsbalken verwenden

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

In diesem haben Sie die Möglichkeit, die Höhe zu ändern, indem Sie minHeight einstellen

Der vollständige XML-Code lautet:

<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 wird auf true gesetzt, um einen unbestimmten horizontalen Fortschrittsbalken zu erhalten

  • Was ist der Unterschied zwischen den beiden Stilen?

    – TWiStErRob

    21. Mai 2016 um 22:06 Uhr

Benutzer-Avatar
vencialle

Fortschrittsbalken im Layout

<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>
</layer-list>

store_download_progress.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ff207d94" />
</shape>

Jetzt können Sie es einfach mit erstellen LinearProgressIndicator vom Materialdesign mit viel Individualisierung zum Beispiel

<com.google.android.material.progressindicator.LinearProgressIndicator
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:indeterminate="true" />

Weitere Informationen und Codebeispiele finden Sie unter dem MaterialDesign-Link

https://material.io/components/progress-indicators/android#using-progress-indicators

Benutzer-Avatar
Tarit Ray

Hat bei mir funktioniert, kann es gleich versuchen

<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"/>

1312000cookie-checkWie erstelle ich einen horizontalen Ladefortschrittsbalken?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy