0

使用 ActionBarSherlock(ABS) setProgressBarIndeterminateVisibility(true|false) 时,自定义标题视图宽度发生了变化,这可能是由于 ABS 将不确定的可见性设置为消失而不是不可见的事实引起的。

我也看到了我仍在工作的解决方案:

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

  • 有一种方法可以弄乱 ABS 代码,它不会将栏的可见性设置为消失......

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

4

1 回答 1

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);
            }
   ...
   }
}
于 2013-02-26T16:42:44.073 回答