Come impostare l'altezza progressbar Android?

Il mio activity_main.xml è sotto, come vedete, l'altezza è impostata 40 dip.

E in MyEclipse, mi sembra di seguito:

  • Notifiche multiple per la stessa attività
  • Dovrei memorizzare le immagini nel database SQLite?
  • NavigationDrawer utilizzando solo la libreria di supporto Android
  • Come utilizzare dispatchTouchEvent?
  • Android: Consumo di memory costante / dumpGfxInfo ()
  • Android: come resettare FirstRun SharedPreferences quando la mia applicazione viene aggiornata?
  • immettere qui la descrizione dell'immagine

    Ma quando l'ho eseguita sul mio telefono, mi sembra di seguito:

    immettere qui la descrizione dell'immagine

    Quindi la mia domanda è perché l'altezza reale della barra di avanzamento non è quella che ho impostato? Come aumentare l'altezza della barra di avanzamento?

  • Errore nel file styles_base.xml - applicazione android - Nessuna risorsa trovata che corrisponde al nome specificato 'android: Widget.Material.ActionButton'
  • Costruttore di visualizzazione personalizzata di Android
  • Deselect l'elemento selezionato in ListView
  • Ricco di immagini scorrere e zoom su android
  • Caricamento Picasso di immagini riprodotte all'interno di AsyncTask
  • Blocco di model in android
  • 7 Solutions collect form web for “Come impostare l'altezza progressbar Android?”

    Da questo tutorial :

     <style name="CustomProgressBarHorizontal" parent="android:Widget.ProgressBar.Horizontal"> <item name="android:progressDrawable">@drawable/custom_progress_bar_horizontal</item> <item name="android:minHeight">10dip</item> <item name="android:maxHeight">20dip</item> </style> 

    Quindi semplicemente applica lo stile alle barre di avanzamento o meglio , sovrascrive lo stile predefinito del tuo tema per definire automaticamente tutte le barre di avanzamento dell'app.

    La differenza che vedi negli screenshot è dovuta al fatto che i telefoni / emulatori utilizzano una differenza di versione Android (l'ultimo è il tema di ICS (Holo), il primo è il tema originale).

    Immagino che la soluzione più semplice sarebbe:

     mProgressBar.setScaleY(3f); 

    Usa questo

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

    Come indicato in altre risposte, sembra che state impostando lo stile della barra di avanzamento per utilizzare Holo.Light:

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

    Se questo è in esecuzione sul tuo telefono, è probabilmente un dispositivo 3.0+. Tuttavia, l'emulatore è simile a quello usando una barra di avanzamento "predefinita".

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

    Forse hai cambiato lo stile nella barra di avanzamento "predefinita" tra la creazione delle acquisizioni di schermo? Purtroppo i dispositivi 2.x non si ripristineranno automaticamente alla barra di avanzamento "predefinita" se i progetti utilizzano una barra di avanzamento Holo.Light. Sarà solo crollare.

    Se utilizzi veramente la barra di avanzamento predefinita, imposta l'altezza max / min come suggerito functionrà bene. Tuttavia, se si utilizza la barra Holo.Light (o Holo), l'impostazione dell'altezza max / min non funziona. Ecco un'output di esempio dall'impostazione di altezza max / min a 25 e 100 dip:

    max / min impostato su 25 tuffo: 25 barra di avanzamento dell'altezza di salto

    max / min impostato su 100 tuffo: 100 barra di avanzamento dell'altezza di salto

    Potete vedere che il disegno sottostante (progress_primary_holo_light.9.png) non è scalare come ci si aspetterebbe. La ragione di questo è che il bordo a 9 patch è solo in scala i pixel più in alto e in basso:

    9-patch

    L'area orizzontale delimitata dal singolo pixel, il bordo nero (frecce verdi) è la parte che si allunga quando Android deve ridimensionare la .png verticalmente. L'area tra le due frecce rosse non si allungherà verticalmente.

    La soluzione migliore per risolvere questo problema è quella di modificare il 9patch .png per allungare la barra e non la "area della canvas" e quindi creare un xml barra di progresso personalizzato per utilizzare queste 9 pagine. Similmente descritto qui: https://stackoverflow.com/a/18832349

    Ecco la mia implementazione per un solo non indeterminato Holo.Light ProgressBar. Dovrai aggiungere le tue 9 patch per indeterminanti e Holo ProgressBars. Idealmente avrei dovuto rimuovere completamente l'area della canvas. Invece l'ho lasciato, ma ho impostato l'area "bar" stretchable. https://github.com/tir38/ScalingHoloProgressBar

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

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

    Quindi nel tuo ProgressBar aggiungere:

     style="@style/tallerBarStyle" 

    android: scaleY = "8" nel file xml

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.