Wie in anderen Antworten erwähnt, scheinen Sie den Stil Ihres Fortschrittsbalkens für die Verwendung von Holo.Light festzulegen:
style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal"
Wenn dies auf Ihrem Telefon ausgeführt wird, handelt es sich wahrscheinlich um ein Gerät ab 3.0. Ihr Emulator sieht jedoch so aus, als würde er einen "Standard" -Verfahrensbalken verwenden.
style="@android:style/Widget.ProgressBar.Horizontal"
Vielleicht haben Sie den Stil zwischen dem Erstellen der Screenshots in den Fortschrittsbalken "Standard" geändert? Leider kehren 2.x-Geräte nicht automatisch zum Standard-Fortschrittsbalken zurück, wenn Ihre Projekte einen Holo.Light-Fortschrittsbalken verwenden. Es wird einfach abstürzen.
Wenn Sie wirklich den Standard-Fortschrittsbalken verwenden, funktioniert das Einstellen der maximalen / minimalen Höhe wie vorgeschlagen einwandfrei. Wenn Sie jedoch die Holo.Light- (oder Holo) Leiste verwenden, funktioniert das Einstellen der maximalen / minimalen Höhe nicht. Hier ist eine Beispielausgabe aus der Einstellung der maximalen / minimalen Höhe auf 25 und 100 Dip:
max / min auf 25 dip eingestellt:
max / min auf 100 dip eingestellt:
Sie können sehen, dass das zugrunde liegende Drawable (progress_primary_holo_light.9.png) nicht wie erwartet skaliert. Der Grund dafür ist, dass der 9-Patch-Rand nur die oberen und unteren Pixel skaliert:
Der horizontale Bereich, der vom schwarzen Rand mit einem Pixel (grüne Pfeile) begrenzt wird, ist der Teil, der gedehnt wird, wenn Android die Größe des PNG vertikal ändern muss. Der Bereich zwischen den beiden roten Pfeilen wird nicht vertikal gestreckt.
Die beste Lösung, um dies zu beheben, besteht darin, die 9patch-PNGs zu ändern, um die Leiste und nicht den "Canvas-Bereich" zu dehnen, und dann eine benutzerdefinierte Fortschrittsbalken-XML zu erstellen, um diese 9patches zu verwenden. Ähnlich hier beschrieben: https://stackoverflow.com/a/18832349
Hier ist meine Implementierung für eine nicht unbestimmte Holo.Light ProgressBar. Sie müssen Ihre eigenen 9-Patches für unbestimmte und Holo ProgressBars hinzufügen. Idealerweise hätte ich den Leinwandbereich komplett entfernen sollen. Stattdessen habe ich es verlassen, aber den "Balken" -Bereich dehnbar gemacht.
https://github.com/tir38/ScalingHoloProgressBar