2014-01-14 24 views
6

我有一個包含主ListView上方的進度條的自定義佈局。當列表刷新時,我將進度條設置爲不確定。在軟糖和以上,這很好地工作。然而,在IceCream Sandwich中,當設置爲不確定時,它會跳過上面的幾個像素,足以將其部分隱藏在ActionBar下面。ICS中不確定進度條跳躍的最佳解決方法是什麼?

解決此問題的最佳方法是什麼?

有兩個具有不同marginTop值的進度條,並通過在確定模式和不確定模式之間切換時更改視圖可見性來在它們之間切換?更改模式時更改進度條的LayoutParams?或者以其他方式?

在這兩種情況下,我可以做選擇性的處理,使得在第一種方式我會成立了不同版本的API,並在第二隻改變的LayoutParams不同的佈局,如果SDK_INT值小於16

是有更好的方法來解決這個問題嗎?如果不是,他們哪一個會更好?在這方面更好的可能是減少資源使用和/或可維護性,但我也會對它們的利弊感興趣。

+1

首先你應該試着去理解它跳躍的原因。它是否連接到所用的可繪製資源?如果是這樣,你可以簡單地提供自己的資源 –

+1

點。 ICS中不確定進度條的drawable與確定進度條的高度不同,因此視圖以略微不同的垂直偏移量繪製它們。它在AOSP中被提交'd0f8ea5'修復。我通過在該提交中包含相同的資源並通過設置android:indeterminateDrawable =「@ drawable/progress_indeterminate_horizo​​ntal_holo」來解決該問題。感謝您指出! –

+0

高興得到了幫助 –

回答

0

請考慮將進度條最大值設置爲刷新超時。因此,如果您將超時設置爲60秒,請使用計數器每秒更新一次進度條,直到超時。那麼它將永遠是一個決定性的進度條。

相關問題