Некоторые стили ProgressBar не показаны на Nexus 5 Android 5.0.1

У меня есть следующий макет:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar style="@android:style/Widget.Material.ProgressBar.Large" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout> 

У меня есть Nexus 5 под управлением Android 5.0.1 , который не отображает ProgressBar , очевидно, из-за стиля. Когда я устанавливаю стиль, например,

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

или

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

показано. У меня есть идентичный Nexus 5, также работающий Android 5.0.1 управлением Android 5.0.1 который отображает все возможности ProgressBar . Включение опции «границы макета чертежа» в опциях разработчиков, это показывает, что ProgressBar включен в макет, он просто не отображается.

Это кажется очень странным, любая идея о том, что здесь может происходить?

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

У меня была такая же проблема, но потому, что у телефона разработчика есть анимация весов до 0 (все 3).

Включите все анимации на устройстве, и, возможно, вы сможете увидеть индикатор выполнения, поэтому для нормальных людей, у которых будут анимации, индикатор выполнения будет выглядеть нормально.

В моем случае похоже, что проблема связана со сборкой LRX22G:

 Nexus 7 using Build LRX22G (android-5.0.2_r1) - progress bar not shown Nexus 5 using Build LRX22C (android-5.0.1_r1) - progress bar shown 

См. https://source.android.com/source/build-numbers.html.

Вероятно, это также связано с https://code.google.com/p/android/issues/detail?id=77865

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

 <style name="AppBaseTheme" parent="@android:style/Theme.Material.Light.DarkActionBar"> <!-- Build LRX22G (5.0.2 Nexus 7) fails to display progress bar so we'll use Holo instead of Material --> <!-- http://stackoverflow.com/questions/27567235/certain-progressbar-styles-not-shown-on-nexus-5-android-5-0-1 --> <item name="android:progressBarStyleSmall">@style/MaterialProgressBarFix.Small</item> <item name="android:progressBarStyle">@style/MaterialProgressBarFix</item> <item name="android:progressBarStyleLarge">@style/MaterialProgressBarFix.Large</item> </style> <style name="MaterialProgressBarFix.Small" parent="@android:style/Widget.Holo.ProgressBar.Small" /> <style name="MaterialProgressBarFix" parent="@android:style/Widget.Holo.ProgressBar" /> <style name="MaterialProgressBarFix.Large" parent="@android:style/Widget.Holo.ProgressBar.Large" /> 

Установив стиль следующим образом, вы должны уметь отлаживать эту проблему

 style="?android:attr/progressBarStyleLarge" 
Intereting Posts