2015-11-28 2 views
0

Я пытался придумать более подходящий заголовок для этой темы, но не мог описать мою проблему.Android: ProgressBar выглядит странно в активности

Вот код Progressbar XML Я использую:

<ProgressBar 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/progressBar" 
    android:layout_centerInParent="true"/> 

Вот код в моем AppCompatActivity:

progressBar = (ProgressBar) findViewById(R.id.progressBar); 
progressBar.setIndeterminate(true); 

Когда Progressbar запускается, это выглядит так - что выглядит как устаревшая версия ProgressBar:

progressBar

Затем через несколько секунд, он изменяет к этому типу ProgressBar, который выглядит как новый дизайн:

progressBarnew

Как я могу получить его, чтобы показать новый проект с самого начала, как я не хочу, более старый вид progressBar для отображения?

Это тема, я использую для моей деятельности:

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="Theme.AppCompat.NoActionBar"> 

    <item name="android:windowBackground">@color/primary</item> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/deep_orange_500</item> 
    <item name="colorControlNormal">@color/iron</item> 
    <item name="colorControlActivated">@color/white</item> 
    <item name="colorControlHighlight">@color/white</item> 
    <item name="android:textColorHint">@color/iron</item> 
    <item name="colorButtonNormal">@color/primary_darker</item> 
    <item name="android:colorButtonNormal">@color/primary_darker</item> 
</style> 

Я заметил, что это происходит, когда я изменить видимость элементов в моем макете. У меня есть кнопка входа в систему, которая при нажатии будет скрывать все и отображать progressBar. Когда я нажимаю кнопку входа в систему, экран возвращается назад, чтобы отобразить строку состояния вверху в течение нескольких секунд, а progressBar отражает старую нематериальную тему progressBar. Когда строка состояния снова исчезнет, ​​на экране появится новый индикатор progressBar.

Это заставляет меня думать, что тема не соблюдается, когда меняется видимость предметов?

+0

Похожая материальная тема –

+1

Я так думаю, но не знаю, как изменить ее на материальную тему - я прикрепил стиль к этому сообщению. – Simon

+0

Использование темы «AppCompat» –

ответ

0

Я думаю, что по ошибке, я помещал в этом стиле и прикрепил его к ProgressBar:

style="@style/Widget.AppCompat.ProgressBar" 

Удаление этого сделать вернуться к материальной теме Progressbar

EDIT:

После дальнейших исследований, это на самом деле связано с progressBar, включенным в TFK facebook. Я должен был вытащить его, следуя советам в этой теме: Android: How to hide progress circle in Facebook login скопирован и вставлен здесь для вашего удобства.

У меня была такая же проблема с facebook sdk 4.x. Когда я нажимаю кнопку входа в facebook, функция Facebook появляется полупрозрачной, но на ней отображается индикатор выполнения. К счастью, мы можем отключить этот индикатор выполнения в теме. Таким образом, активность Facebook объявлен

<activity 
    android:name="com.facebook.FacebookActivity" 
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar" /> 

Все, что нам нужно сделать, это создать стиль, который наследует от Theme.Translucent.NoTitleBar и скрывает индикатор:

<style name="FullyTranslucent" parent="android:Theme.Translucent.NoTitleBar"> 
    <item name="android:progressBarStyle">@style/InvisibleProgress</item> 
</style> 

<style name="InvisibleProgress"> 
    <item name="android:visibility">gone</item> 
</style> 

Теперь установите тему деятельности в новой теме:

<activity 
    android:name="com.facebook.FacebookActivity" 
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
    android:label="@string/app_name" 
    android:theme="@style/FullyTranslucent" /> 

Voila! ProgressBar перед входом в систему исчез.

Смежные вопросы