使用 ActionBarSherlock(ABS) setProgressBarIndeterminateVisibility(true|false) 时,自定义标题视图宽度发生了变化,这可能是由于 ABS 将不确定的可见性设置为消失而不是不可见的事实引起的。
我也看到了我仍在工作的解决方案:
设置一个自定义的不确定栏,属于customView,但视觉效果不会那么好;
有一种方法可以弄乱 ABS 代码,它不会将栏的可见性设置为消失......
有没有办法解决这个问题?
使用 ActionBarSherlock(ABS) setProgressBarIndeterminateVisibility(true|false) 时,自定义标题视图宽度发生了变化,这可能是由于 ABS 将不确定的可见性设置为消失而不是不可见的事实引起的。
我也看到了我仍在工作的解决方案:
设置一个自定义的不确定栏,属于customView,但视觉效果不会那么好;
有一种方法可以弄乱 ABS 代码,它不会将栏的可见性设置为消失......
有没有办法解决这个问题?
正如我预测的那样,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);
}
...
}
}