向Action Bar添加进度Compat显示微调器和进度指示器

时间:2014-05-21 09:38:13

标签: android android-actionbar-compat

我试图向动作栏显示一个微调器(compat)。这是我的代码

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
            supportRequestWindowFeature(Window.FEATURE_PROGRESS);//Giving an Error if do not include it
    supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    setSupportProgressBarIndeterminate(true);

    setContentView(R.layout.activity_doonline);
}

现在麻烦的是,当我将可见性设置为true时,我在操作栏上方得到一个微调器和一个进度条。我只想要一个微调器。 代码是

myActivity.setSupportProgressBarIndeterminateVisibility(true);

我知道我添加了两个supportRequestFeatures(如果我不提供'FEATURE_PROGRESS',则无法工作)。我也注意到了

  

supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

只有在我有

的情况下才有效
  

supportRequestWindowFeature(Window.FEATURE_PROGRESS);

1 个答案:

答案 0 :(得分:0)

删除

supportRequestWindowFeature(Window.FEATURE_PROGRESS);

setSupportProgressBarIndeterminate(true);

不知道究竟为什么,但这对我有用。似乎请求两个功能FEATURE_PROGRESS和FEATURE_INDETERMINATE_PROGRESS创建两个进度指示器并将它们连接起来并调用setSupportProgressBarIndeterminateVisibility或setSupportProgressBarVisibility更改两个可见性。但是使用FEATURE_INDETERMINATE_PROGRESS足以配置不确定的进度指示器。我想知道这是不是一个bug。有人可能想要使用这两个指标,这种行为可以防止旧版Android系统出现这种情况。