2012-01-27 35 views
2

後我有進度視圖,其中i的已應用復位視圖爲默認填充施加

progressBar.setPadding(300,0,0,0);

再次當我觸摸progressBar它應該恢復到它的正常視圖,這是應用填充查看之前。

progressBar.setPadding(0,0,0,0);

試圖與上述填充,但圖中未反射到其原始尺寸,因爲它是應用填充

任何建議如何實現這一點之前。

回答

0

有它的樂趣,並使一個自定義的進度欄調用ToggleProgressBar在兩個填充級別之間切換?或只是setPadding回到舊值?

+0

是我做了定製的進度條也,我設置填充於前值,這樣:'progressBar.setPadding(0,0,0,0)'但它從屏幕本身消失 – Zoombie 2012-01-27 06:05:52

+0

請粘貼在你改變填充的位置(完整代碼) – L7ColWinters 2012-01-27 06:07:38

+0

'smsProgressBar.setMax(getSmsLimit()); smsProgressBar.setProgress(SMSCOUNT條); if(isFirstPeriodEmpty){ \t \t imgSmsProgressBar.setVisibility(View.VISIBLE); \t \t smsProgressBar.setPadding(300,0,0,0); \t}' – Zoombie 2012-01-27 06:23:09

0

你可以嘗試調用無效(),你改變它的填充後.. progressBar.invalidate()

+0

我做了,但沒有產生任何影響。 – Zoombie 2012-01-27 06:55:22

0

你假設填充是在各方爲零你調整它。這可能是更好的,你調整它們之前保存現有的填充值,這樣你就可以回去,即:

int mLeft, mTop, mRight, mBottom; 

if(isFirstPeriodEmpty) { 
    mLeft = smsProgressBar.getPaddingLeft(); 
    mTop = smsProgressBar.getPaddingTop(); 
    mRight = smsProgressBar.getPaddingRight(); 
    mBottom = smsProgressBar.getPaddingBottom(); 

    smsProgressBar.setPadding(300, 0, 0, 0); 
} else { 
    //Reset padding values 
    smsProgessBar.setPadding(mLeft, mTop, mRight, mBottom); 
} 

HTH

+0

mLeft,right,top和bottom設置爲「isFirstPeriodEmpty」中的零值在我應用setPadding(300,0,0,0)之後,其視圖大小減小 – Zoombie 2012-01-27 07:17:39