Intereting Posts
Android Понимание размеров кучи Запросить в Google Play магазине версию приложения? Android-стиль слайдов Как центрировать ImageView в LinearLayout? Google отображает SDK с новым эмулятором Intel Atom x86 Масштабирование изображений в разных разрешениях XML Можно ли установить цвет строки непосредственно в string.xml? Android – «Сервер не смог обработать ваш apk. Повторите попытку .. "при загрузке на рынок Изменение высоты и ширины EditText во время выполнения с некоторой анимацией Как установить несколько интервалов текста TextView на один и тот же частичный текст? Анимация по обнаружению объектов для Android OK Действия поиска Google приводят к тому, что isVoiceInteraction () всегда возвращает false Android TextView measureText для арабского Как обрабатывать «последний незавершенный блок в расшифровке» Несколько действий, идентичные onCreateOptionsMenu, onOptionsItemSelected и onKeyDown. Могу ли я каким-то образом повторно использовать код?

Выровнять 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" />