2013-02-26 103 views
0

使用ActionBarSherlock(ABS)setProgressBarIndeterminateVisibility(true | false)時,自定義標題視圖寬度會更改,這可能是由於ABS將不確定的可見性設置爲不可見而不是可見的。setProgressBarIndeterminateVisibility更改自定義標題欄視圖寬度

我看到過的解決方案,那我仍然在工作:

  • 設置屬於customView自定義不確定欄,但在視覺效果上也不會這麼好看;有

  • 的方式來與不設置欄知名度水漲船高ABS代碼的混亂......

是否有解決這個的方法嗎?

回答

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); 
      } 
    ... 
    } 
}