Hoe maak je een horizontale voortgangsbalk voor laden?

Bij het verwijderen van een Android-applicatie of het uitvoeren van een configuratie, zal er zo’n horizontale voortgangsbalk verschijnen, zoals in de volgende afbeelding:

Het is niet dezelfde stijl als @android:style/Widget.ProgressBar.Horizontal.

Hoe gebruik ik het in mijn eigen applicatie?


Antwoord 1, autoriteit 100%

Voeg gewoon een regel STYLEtoe en je voortgang wordt horizontaal:

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

Antwoord 2, autoriteit 38%

Het is Widget.ProgressBar.Horizontalop mijn telefoon, als ik android:indeterminate="true"

instel


Antwoord 3, autoriteit 37%

Voor het gebruik van de nieuwe voortgangsbalk

style="?android:attr/progressBarStyleHorizontal"

gebruik voor de oude grijze kleur voortgangsbalk

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

in deze heb je de mogelijkheid om de hoogte te veranderen door minHeight in te stellen

De volledige XML-code is:

<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 is ingesteld op true om een ​​onbepaalde horizontale voortgangsbalk te krijgen


Antwoord 4, autoriteit 7%

Voortgangsbalk in lay-out

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

Antwoord 5, autoriteit 3%

Werkt voor mij, kan het met hetzelfde proberen

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

Antwoord 6, autoriteit 2%

Je kunt het nu eenvoudig maken met behulp van LinearProgressIndicatorvan het materiaalontwerp met veel maatwerk bijvoorbeeld

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

Controleer de MaterialDesign-link voor meer informatie en codevoorbeelden

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

Other episodes