2016-02-05 101 views
2

我注意到,當在Android 5.x中啓用(由用戶或自動)省電模式時,應用程序中的ProgressBars就會消失。進度條在電池省電模式(Android 5.x)中消失?

沒有動畫,沒有靜態進度條小部件 - 只是空的地方。

如何防止?我明白電池保護程序會禁用某些系統動畫,但進度條實際上是應用程序UI的重要組成部分。

以防萬一 - 代碼實現進度佈局:

<ProgressBar 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/refresh_bar" 
    android:layout_alignParentTop="true" 
    android:indeterminate="true" 
    android:visibility="gone" 
    android:layout_marginTop="@dimen/progress_bar_top_margin" /> 

以及它如何在我的片段類實現:

public class FeedFragment extends Fragment { 
    ... 
    // Progressbar to show refreshing state 
    private ProgressBar mRefreshBar; 
    ... 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

      View v = inflater.inflate(R.layout.fragment_feed, container, false);  
      ... 
      // Initialize and locate Refreshing progress bar 
      mRefreshBar = (ProgressBar) v.findViewById(R.id.refresh_bar); 
      ... 
      mRefreshBar.setVisibility(View.VISIBLE); 
      ... 
    } 
    ... 
} 

另外,我面臨這個問題,在應用程序中所有的進度條,不僅與這一個。 禁用電池省電模式時 - 一切正常。

回答

2

當啓用節電模式時,設備上的每個應用程序都有相同的問題。

由於省電模式延長了電池的使用壽命,所以您可以使用手機,直到有機會充電爲止。它發生在每個應用程序中。所以不要擔心。

如何防止?

通過在設置中禁用電池省電模式,然後重新啓動設備。或者您可以向用戶請求permission以禁用它。

+0

好的,我明白了。但考慮到這一點,如何通知用戶正在加載?我有無盡的滾動ListView(用戶滾動到最後一項時自動加載數據),當沒有進度條 - 看起來像列表剛剛達到它的結束。 – udenfox

+0

你可以使用progress + text(Loading ...)或其他的東西。當電池保護運行用戶能夠看到文字 –

+0

你也可以檢查gmail android應用程序他們已經做了什麼,當電池保護程序在 –