Полное решение этой проблемы будет следующим. На всякий случай, если кому-то нужны фрагменты кода, это то, что я сделал.
- скопировано все 8 неопределенного горизонтальный ProgressBar
вводимых коэффициент
- отредактирован с помощью вводимого коэффициента некоторых изображений манипулятором и удалить ненужные отступы
- Скопировал Drawable XML с именем progress_indeterminate_horizontal_holo.xml от андроида платформы
- скопированной стиль виджета. ProgressBar. Горизонтальные и его родители
- Установите стиль и min_height вручную в макете
здесь является progress_indeterminate_horizontal_holo.xml
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/progressbar_indeterminate_holo1" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo2" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo3" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo4" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo5" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo6" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo7" android:duration="50" />
<item android:drawable="@drawable/progressbar_indeterminate_holo8" android:duration="50" />
Стиль ресурсов, скопированные на мой локальный файл стилей.
<style name="Widget">
<item name="android:textAppearance">@android:attr/textAppearance</item>
</style>
<style name="Widget.ProgressBar">
<item name="android:indeterminateOnly">true</item>
<item name="android:indeterminateBehavior">repeat</item>
<item name="android:indeterminateDuration">3500</item>
</style>
<style name="Widget.ProgressBar.Horizontal">
<item name="android:indeterminateOnly">false</item>
<item name="android:indeterminateDrawable">@drawable/progress_indeterminate_horizontal_holo</item>
</style>
И, наконец, установите минимальную высоту в 4dp в моем локальном файле макета.
<ProgressBar
android:id="@+id/pb_loading"
style="@style/Widget.ProgressBar.Horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:indeterminate="true"
android:minHeight="4dp"
android:minWidth="48dp"
android:progressDrawable="@drawable/progress_indeterminate_horizontal_holo" />
Насколько это было бы опасно для изменений стилей по умолчанию? Гарантированы ли они, чтобы они выглядели и работали одинаково на всю вечность, или они теоретически могут заменить их в любое время чем-то, в результате чего нажатие на 6 пикселей создало бы проблемы (например, невидимый индикатор выполнения)? – Joey
Это не работает на каждом устройстве. На Galaxy S6, даже с верхним краем '-6dp', белое пространство над индикатором выполнения все еще видно. –