setProgressBarIndeterminateVisibility更改自定义标题栏视图宽度

时间:2013-02-26 16:25:11

标签: android actionbarsherlock loading titlebar

使用ActionBarSherlock(ABS)setProgressBarIndeterminateVisibility(true | false)时,自定义标题视图宽度会发生变化,这可能是因为ABS将不确定的可见性设置为已消失而不是无形。

我也看到了解决方案,我还在努力:

  • 设置属于customView的自定义不确定栏,但视觉效果不会那么好;

  • 有办法搞砸了没有设置栏可见度的ABS代码......

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

正如我预测的那样,ABS将可见性改变为消失。

我选择了第二个选项,这是一个非常简单的解决方案。 我下载了ABS代码,导入它并更改了ActionBarSherlockCompat类

View.INVISIBLE在哪里才是View.GONE。

方法:

public class ActionBarSherlockCompat .... {
   private void updateProgressBars(int value) {

   ...
   else if (value == Window.PROGRESS_VISIBILITY_OFF) {
            if ((features & (1 << Window.FEATURE_PROGRESS)) != 0) {
                horizontalProgressBar.setVisibility(View.INVISIBLE);
            }
            if ((features & (1 << Window.FEATURE_INDETERMINATE_PROGRESS)) != 0) {
                circularProgressBar.setVisibility(View.INVISIBLE);
            }
   ...
   }
}