应用填充后将视图重置为默认值

时间:2012-01-27 05:56:07

标签: android progress-bar padding

我有进度条视图,我已应用

  

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

当我触摸progressBar时,它应该恢复到正常视图,这是在应用填充查看之前。

  

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

尝试使用上面的填充,但是视图没有像应用填充之前那样反映到原始大小

有任何建议如何实现这一点。

3 个答案:

答案 0 :(得分:1)

在调整之前,您假设所有边上的填充均为零。最好在调整之前保存现有的填充值,以便可以返回,即:

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

答案 1 :(得分:0)

玩得开心并制作一个名为ToggleProgressBar的自定义进度条,它可以在两个级别的填充之间切换?或者只是将setPadding恢复为旧值?

答案 2 :(得分:0)

您可以尝试在更改填充后调用invalidate().. progressBar.invalidate()