Intereting Posts
@ Font-face не работает в мобильном Webkit Проблемы с суммой весов TableLayout Центр Обрезать Android VideoView Создавать уникальный идентификатор int в качестве идентификатора уведомления Android Заголовок Android PreferenceScreen в двух строках PANIC: Не удается найти путь к системе AVD. Пожалуйста, определите ANDROID_SDK_ROOT Как надежно хранить модуль, публичный экспонент и частный экспонент на Android? Как я могу решить, какой интервал использовать для requestLocationUpdates? Доступ к ресурсам приложений из проекта библиотеки Тесты на Android не работают на Travis с ShellCommandUnresponsiveException Как получить отчет о покрытии jacoco с помощью плагина Android gradle 0.10.0 или новее? Ресурс был получен при подключенной трассировке стека, но не был выпущен. См. Java.io.Closeable для получения информации об избежании утечек ресурсов Facebook SDK для дублированной библиотеки поддержки Android на зависимостях Таймер в фоновом режиме Скрыть ActionBar MenuItems, когда навигационный ящик слайдов для любой суммы

Выровнять ProgressBar горизонтально вверх (удалить промежуток)

Я пытаюсь установить горизонтальный индикатор выполнения в верхней части рамки. Но, кажется, есть дополнение, которое я просто не смог удалить. Любая помощь?

Введите описание изображения здесь

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar android:id="@+id/flv_progress_bar" android:layout_width="fill_parent" style="@android:style/Widget.Holo.ProgressBar.Horizontal" android:indeterminateOnly="true" android:layout_height="wrap_content" android:layout_gravity="top"/> </FrameLayout> 

Solutions Collecting From Web of "Выровнять ProgressBar горизонтально вверх (удалить промежуток)"

Ответ Pork'n'Bunny работал с API уровня 16 и выше. Это решение работало на всех устройствах. Просто нажмите его на 6dp в XML.

  <ProgressBar android:id="@+id/progressbar_Horizontal" style="?android:attr/progressBarStyleHorizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" android:layout_alignParentTop="true" android:layout_marginTop="-6dp" /> 

От внешнего вида, я думаю, что это вызвано изображением, используемым в стиле по умолчанию

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

(Изображение, на которое я имею в виду, это: @android:drawable/progress_indeterminate_horizontal_holo и @android:drawable/progress_horizontal_holo_dark )

У этих изображений много фона холста; Поэтому он показывает этот пробел.

Моя рекомендация:

Используйте собственный образ, чтобы создать стиль PregressBar. Тот, у которого нет большого расстояния между холстами.

Введите описание изображения здесь

Полное решение этой проблемы было бы следующим. На всякий случай, если кому-то нужны фрагменты кода, это то, что я сделал.

  1. Скопированы все 8 неопределенных горизонтальных индикаторов прогресса выполнения
  2. Отредактировал чертежи с помощью некоторого манипулятора изображения и удалил ненужные прокладки
  3. Скопировал выталкиваемый XML с именем progress_indeterminate_horizontal_holo.xml с платформы Android
  4. Скопирован стиль Widget.ProgressBar.Horizontal и его родители
  5. Установите стиль и 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" /> 

Придумал другое решение, так как drawable работает в соответствии с планом на скриншоте. Просто нажмите его на 6dp вверх.

  mProgress = (ProgressBar) view.findViewById(R.id.fwv_progress); mProgress.animate().withLayer().yBy(-6.0f*getResources().getDisplayMetrics().density).setDuration(0).start(); 

Я думаю, проблема связана с атрибутом height. Попробуйте установить высоту макета на некоторое значение

 <ProgressBar android:id="@+id/progressBar" android:max="100" android:layout_width="match_parent" android:layout_height="2dp" style="@android:style/Widget.ProgressBar.Horizontal" />