2016-02-05 41 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应用程序他们已经做了什么,当电池保护程序在 –